为什么编译器给出错误“名称'标识符'”在当前上下文中不存在
本文关键字:上下文 不存在 标识符 错误 名称 编译器 为什么 出错 | 更新日期: 2023-09-27 18:09:00
这是上下文(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.
}
}
这是出乎意料的。有解释为什么和如何解决它吗?
Intermediate
不子类Base
,这是方法所在的地方,因此它不是Derived
类的一部分,Derived
不能直接访问它。
你要么需要从Base
的实例调用它,要么有Intermediate
(或Derived
)子类Base