c# ':'两边都有相同的标识符
本文关键字:标识符 | 更新日期: 2023-09-27 18:05:58
我知道:
在c#中表示继承;
但是当两边都有相同的标识符时是什么意思呢?
如
class GameObject : GameObject {
这不起作用,因为Visual Studio会抛出一个"循环依赖"错误,因为,当你考虑它时,GameObject继承自GameObject, GameObject继承自GameObject, GameObject继承自GameObject, GameObject继承自……换句话说,这是不可能的,因此没有任何意义(除了Neil在注释中提到的编译器错误)。
或者这是Unicode
class GameObject
{
}
class GameObjеct : GameObject
{
}
如果基类在不同的名称空间中声明,则提供的语法是合法的但是,您需要使用名称空间来解决命名冲突
例子 namespace A
{
class GameObject
{
}
}
namespace B
{
class GameObject: A.GameObject
{
}
}
另一个可能的场景涉及到泛型,它允许类名重载。下面的代码也可以编译:
class GameObject
{
}
class GameObject<T> : GameObject
{
}
class GameObject<T, T> : GameObject<T>
{
}