C#继承 - ':'两侧的相同标识符

时间:2011-08-19 03:25:39

标签: c# inheritance

我知道:表示C#中的继承;

但是当两边都有相同的标识符时,这是什么意思?

例如

class GameObject : GameObject {

3 个答案:

答案 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>
{
}