我正在开发一个Xamarin项目,其中一个类需要在iOS和Android中有单独的实现。我正在考虑在Shared项目中有一个request.getParameter("fruit").split(",");
并在iOS和Android项目中实现它。但我不知道该怎么做。
这是我到目前为止所尝试的,但是编译器在MyPopup_iOS的Set Fruit:-" + obj.favfruit); not Fruit:-" + obj.fruit);
方法中抛出错误,“没有合适的方法来覆盖”。由于我没有在共享项目中引用 MyPopup_iOS.cs 文件,我该如何调用此方法?
文件:MyProject中的MyPopup.cs
interface
在MyProject.iOS中提交MyPopup_IOS
callMe
答案 0 :(得分:1)
1)将接口MyPopup更改为抽象类
public abstract class MyPopup
{
void callMe();
}
2)将void CallMe()更改为abstract
public abstract void CallMe ();
3)在您的平台特定类中覆盖该方法
public class MyPopup_IOS : MyPopup
{
public override void callMe()
{
}
}
4)现在你可以从基类调用该方法了。它将触发特定于平台的实现
public abstract class MyPopup
{
public abstract void callMe();
void doWork() {
callMe();
}
}