为了账号安全,请及时绑定邮箱和手机立即绑定

如何区分外部类和嵌套类

如何区分外部类和嵌套类

C#
开满天机 2022-10-15 15:25:35
我有一种情况,我的一个类被调用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

            }

        }

    }

}


查看完整回答
反对 回复 2022-10-15
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

我希望您只需要使用完整路径。

我假设 SpaceMine 在命名空间内 - 如果不是,您需要将整个文件包装在命名空间中。

然后,您可以new YourNamespace.SpaceMine();获取父级或new YourNamespace.Ability.SpaceMine()访问嵌套的父级。

我不建议这样做,因为可读性受到严重影响。



查看完整回答
反对 回复 2022-10-15
  • 2 回答
  • 0 关注
  • 70 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信