我正在移植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