我有一种情况,我的一个类被调用SpaceMine,而我拥有的另一个类被调用,Ability并且其中嵌套了一个类,称为SpaceMine:public class SpaceMine{}public class Ability{ public class SpaceMine : Ability { void Foo() { SpaceMine spaceMine; } }}在Foo()中,我试图声明一个类型SpaceMine(不是Ability.SpaceMine)的变量,但它一直说我的变量是类型Ability.SpaceMine。除了更改名称之外,我如何确保编译器知道我要声明的类型?
2 回答
手掌心
TA贡献1942条经验 获得超3个赞
使用显式声明
namespace SpaceName
{
public class SpaceMine
{
}
public class Ability
{
public class SpaceMine : Ability
{
void Foo()
{
Ability.SpaceMine nestedMine; //Nested
//Ability is reducant but it improves readability a little
SpaceName.SpaceMine globalMine; //Not nested
}
}
}
}
杨__羊羊
TA贡献1943条经验 获得超7个赞
我希望您只需要使用完整路径。
我假设 SpaceMine 在命名空间内 - 如果不是,您需要将整个文件包装在命名空间中。
然后,您可以new YourNamespace.SpaceMine();
获取父级或new YourNamespace.Ability.SpaceMine()
访问嵌套的父级。
我不建议这样做,因为可读性受到严重影响。
- 2 回答
- 0 关注
- 70 浏览
添加回答
举报
0/150
提交
取消