【发布时间】:2019-07-29 05:52:11
【问题描述】:
我的一个类称为SpaceMine,而我的另一个类称为Ability,并且其中嵌套了一个称为SpaceMine的类:
public class SpaceMine
{
}
public class Ability
{
public class SpaceMine : Ability
{
void Foo()
{
SpaceMine spaceMine;
}
}
}
在Foo() 中,我试图声明一个SpaceMine 类型的变量(不是Ability.SpaceMine),但它一直说我的变量是Ability.SpaceMine 类型。除了更改名称之外,我如何确保编译器知道我要声明的类型?
【问题讨论】:
-
首先,它绝对会破坏可读性,不要在实际项目中使用
-
最好不要嵌套它们并使用前缀/后缀,例如 SpaceMineAbility。除了偶尔的结构之外,嵌套类会让你在一个月后头疼数小时
-
您能否更具体地说明它是如何降低可读性并导致头痛的?对我来说,它看起来更有条理,也更有意义。
标签: c# class unity3d nested disambiguation