我正在移植 Windows Mobile 上的一些旧代码。该代码可以很好地为 .NET 3.5 CE 编译。我在 MonoForAndroid 中创建了一个项目并引用了相同的代码(引用为链接的 .cs 文件),它为 Android 构建得很好。
但是,当我为 MonoTouch 创建一个项目并引用相同的 C# 代码文件时,它无法构建并抛出错误,指出方法未实现。
这是我所拥有的:
public interface IJobController
{
IUser User {get; }
}
public class BaseController
{
public virtual IUser User {get;set;}
}
public class BaseJobController : BaseController
{
public new User User {get;set;}
}
public class JobController : BaseJobController, IJobController
{
// some code here that uses the User property
}
错误说JobController
没有实现方法IUser User { get;}
候选者是其中之一,BaseJobController
但类型与 不IUser
匹配User
。
相同的代码已经在 Windows Mobile .NET 3.5 CE 上运行了很多年,并且相同的代码在 MonoForAndroid 上编译得很好。但是,它不能在 MonoTouch 上编译。
我担心的是在 MonoTouch 中实现继承和接口实现的方式存在差异,我还有很多工作要做(很多代码要移植),所以我应该期待更多这样的惊喜吗?
任何帮助将非常感激。