嵌套的类型定义

weikeli19 2016-04-01 07:02:28
如图:
请问我划下来的第一张图的2号句子是什么意思?能不能用简单的代码演示给我看一下?
另外我划下来的第二张图的2号句子是不是有问题 我改一下 你们看看对不对:这个功能主要用来定义对于其包含类来说是私有的类,这样,名称空间中的其他代码就不能访问它。使用该功能的另一个原因是嵌套类可以访问其包含类的私有和受保护成员。?我改的对吗?谢谢了
...全文
272 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Poopaye 2016-04-02
  • 打赏
  • 举报
回复
class AA
{
	public class Nested
	{
		public static string name = "AA.Nested";
	}
}

class BB : AA
{
	public new class Nested
	{
		public static string name = "BB.Nested";
	}
}
new的例子,不过实际使用没多大用处。 至于你加不加那个“被”子,“Nested Class”翻译成“被包含类”或“包含类”,意思好像都一样
weikeli19 2016-04-02
  • 打赏
  • 举报
回复
引用 2 楼 shingoscar 的回复:
class A
{
    private static int x;
    private int y;
    
    class B
    {
        public void Method(A a)
        {
            Console.WriteLine(x); //此处可以直接访问A.x
            Console.WriteLine(a.y); //此处可以访问A对象的y字段
        }
    }
}

class C
{
    public void Method(A.B b) //错误:不能访问私有的内部类
    {
    }
}
它说可以用new关键字来隐藏继承于基类的类型定义 你上面没有new啊? 还有我第2个修改的地方对不对?第2个修改的地方修改完之后整句句子逻辑上就对了吗?
weikeli19 2016-04-02
  • 打赏
  • 举报
回复
引用 5 楼 shingoscar 的回复:
class AA
{
	public class Nested
	{
		public static string name = "AA.Nested";
	}
}

class BB : AA
{
	public new class Nested
	{
		public static string name = "BB.Nested";
	}
}
new的例子,不过实际使用没多大用处。 至于你加不加那个“被”子,“Nested Class”翻译成“被包含类”或“包含类”,意思好像都一样
谢谢你了 不过个人理解加被和不加被意思完全不一样啊 包含类是嵌套类外层的类 而被包含类则是嵌套类
Poopaye 2016-04-01
  • 打赏
  • 举报
回复
class A
{
    private static int x;
    private int y;
    
    class B
    {
        public void Method(A a)
        {
            Console.WriteLine(x); //此处可以直接访问A.x
            Console.WriteLine(a.y); //此处可以访问A对象的y字段
        }
    }
}

class C
{
    public void Method(A.B b) //错误:不能访问私有的内部类
    {
    }
}
threenewbee 2016-04-01
  • 打赏
  • 举报
回复
嵌套类定义就是在类中定义类,比如 class A { class B {} }

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧