这里是上下文(C#)。
public class Base
{
public void SomeMethod()
{
}
}
public class Intermediate<TIntermediateTypeParam>
{
}
public class Derived<TDerivedTypeParam> : Intermediate<string>
{
public void SomethingElse()
{
SomeMethod(); // Error: The name 'SomeMethod' does not exist in the current context.
}
}
这是出乎意料的。 关于为什么以及如何解决它的任何解释?
答案 0 :(得分:1)
Intermediate
不是方法所在的Base
的子类,因此它不属于Derived
类,Derived
无法直接访问它。
您需要从Base
的实例调用它,或者使用Intermediate
(或Derived
)子类Base