在我的类的构造函数中,我调用了一个虚拟成员。是否应该这样做是超出了我的问题的范围。
WORKS(可以在我的构造函数中调用):
protected void DoSomething();
protected virtual void DoSomething();
不工作
protected override void DoSomething();
DOES NOT WORK部分位于同一个库中,派生类具有相同的可见性等。一旦我覆盖了我的B类中A类中定义的(虚拟或抽象)DoSomething,我就会得到一个MissingMethodException一旦执行该方法。
有谁知道为什么?
答案 0 :(得分:2)
经过大量的调试,尝试等,似乎我在方法中使用的类派生自具有此定义的接口:
public interface IMyInterface<out TValueInterface>
似乎你不能使用协变类型参数,否则你会得到这个例外。
有关详细信息,请参阅this blog post。
答案 1 :(得分:0)
我认为这是因为您使用SDK的beta 1创建了项目。
在新项目中再试一次,您将不会遇到问题:-p!