我正在移植Windows Mobile上的一些旧代码。代码为.NET 3.5 CE编译得很好。我在MonoForAndroid中创建了一个项目,并引用了相同的代码(以链接形式引用的.cs文件),并且它适用于Android。在Windows,MonoForAndroid和MonoTouch上实现界面的差异
但是,当我为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
}
错误说IUser User { get;}
的候选者是一个在BaseJobController
,但类型不匹配IUser
对User
JobController
不实现方法。
这个相同的代码已经在Windows Mobile .NET 3.5 CE上工作了很多年,并且相同的代码在MonoForAndroid上编译得很好。但是,它不能在MonoTouch上编译。我的问题是,在MonoTouch中实现继承和接口实现的方式有所不同,我有很多工作要做(大量代码移植),所以我应该期待更多的惊喜吗?
任何帮助将不胜感激。
提交一个bug - https://bugzilla.xamarin.com/ – Jason 2013-04-10 02:37:23