【发布时间】:2019-02-24 11:12:24
【问题描述】:
我正在尝试在 Forms 应用程序的共享项目中实现一个简单的部分类和方法,以使用 Android 和 iOs 项目。
所有类都具有相同的命名空间 (sharedTest) 并具有关键字 partial,但 Android 和 iOs 文件中的部分类和方法似乎无法识别共享代码中实现的另一部分。
部分类共享说“部分类单部分”
Android和iOs文件中的PlatformGetFilePath方法抛出错误“No defined declaration found for implementation of partial method”
Android和iOs文件中的变量_filepath抛出“当前方法中不存在”
为了完成这项工作,我有什么遗漏吗?
共享项目中的部分类:
using System;
using Xamarin.Forms;
namespace sharedTest
{
public partial class Shared
{
public Shared()
{
}
partial void PlatformGetFilePath(string filename);
string _filepath;
public string GetFilePath(string filename)
{
PlatformGetFilePath(filename);
return _filepath;
}
}
}
安卓:
using System;
using System.IO;
using Xamarin.Forms;
namespace sharedTest
{
public partial class Shared
{
partial void PlatformGetFilePath(string filename)
{
string libraryPath=Environment.GetFolderPath(Environment.SpecialFolder.Personal); ;
_filepath = Path.Combine(libraryPath, filename);
}
}
}
iOS:
using System;
using System.IO;
using Xamarin.Forms;
namespace sharedTest
{
public partial class Shared
{
partial void PlatformGetFilePath(string filename)
{
string documentsPath=Environment.GetFolderPath(Environment.SpecialFolder.Personal);
string libraryPath = Path.Combine(documentsPath, "..", "Library");
_filepath = Path.Combine(libraryPath, filename);
}
}
}
【问题讨论】:
标签: c# visual-studio xamarin cross-platform partial-classes