我知道:
表示C#中的继承;
但是当两边都有相同的标识符时,这是什么意思?
例如
class GameObject : GameObject {
答案 0 :(得分:3)
它不起作用,因为Visual Studio会抛出一个'循环依赖'错误,因为,当你想到它时,GameObject继承自继承自GameObject的GameObject继承的GameObject。换句话说,这是不可能的,所以没有任何意义(除了像评论中提到的Neil一样,编译错误)。
答案 1 :(得分:3)
或者这是Unicode
class GameObject
{
}
class GameObjеct : GameObject
{
}
答案 2 :(得分:2)
如果在不同的命名空间中声明基类,则您提供的语法是合法的 但是,您需要使用命名空间来解决命名冲突
实施例
namespace A
{
class GameObject
{
}
}
namespace B
{
class GameObject: A.GameObject
{
}
}
另一种可能的情况涉及泛型,它允许类名重载。以下内容也将编译:
class GameObject
{
}
class GameObject<T> : GameObject
{
}
class GameObject<T, T> : GameObject<T>
{
}