나는 :
이 C#에서 상속되었음을 나타냅니다.C# 상속 - ':'의 양쪽에있는 동일한 식별자
하지만 동일한 식별자가 양쪽에있을 때의 의미는 무엇입니까?
예
class GameObject : GameObject {
나는 :
이 C#에서 상속되었음을 나타냅니다.C# 상속 - ':'의 양쪽에있는 동일한 식별자
하지만 동일한 식별자가 양쪽에있을 때의 의미는 무엇입니까?
예
class GameObject : GameObject {
당신이 그것에 대해 생각하면, 게임 오브젝트가 상속 게임 오브젝트에서 상속 게임 오브젝트에서 상속 때문에 비주얼 스튜디오가하는 '순환 종속성'오류가 발생합니다 때문에이 작동하지 않습니다 .. 즉, 이것은 불가능하며 아무 것도 의미하지 않습니다 (주석에 언급 된 Neil과 같은 컴파일러 오류는 제외).
기본 클래스가 또 다른 가능한 시나리오는 제네릭을 포함
namespace A
{
class GameObject
{
}
}
namespace B
{
class GameObject: A.GameObject
{
}
}
예
이름 충돌를 다른 네임 스페이스에 선언 당신이 필요로하는 하지만, 사용하는 네임 스페이스를 해결하는 경우 제공하는 구문은 합법적 인 클래스 이름 오버로드를 허용하십시오.
class GameObject
{
}
class GameObject<T> : GameObject
{
}
class GameObject<T, T> : GameObject<T>
{
}
을 또는이 유니 코드
class GameObject
{
}
class GameObjеct : GameObject
{
}
거룩한 쓰레기. 그것들은 유니 코드입니다. – BoltClock
당신은 코드의 실제 조각을 게시해야한다이다 : 다음은 또한 컴파일됩니다. 귀하의 질문은 이해가되지 않습니다. – Gabe
이런 말을하는 건가요? 클래스 파생 된 : Base {} – Zenwalker
이것은 컴파일러 오류를 의미합니다 –