我有一种情况,我的一个类被调用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 关注
- 110 浏览
添加回答
举报
0/150
	提交
		取消
	