1。
教程说这里是定义一个外部类comp的实例对象,可我觉得这好像是在定义内部类cod的实例对象吧
======
你对实际上,comp cod 都是已经是嵌套类, comp 的包含类型是 类的镶套2。
外部的应该这样定义啊:comp user=new comp() 难道不是么?
=======
在 类的镶套 的内部实例化,是这样的,在包含类型外得加上包含类型限定类的镶套.comp c = new 类的镶套.comp(); // 并且访问修饰符得是 public3。
那么外边的类的对象是不是可以访问任何里面那个类的私有成员和保护成员共有成员阿
========
public internal 可以
private protected 不可以4。
嵌套类,形象看,如同又加了一级命名空间

解决方案 »

  1.   

    恩 谢谢您的耐心解答起码我敢确定黄色部分那句是声明一个cod实例了!但是我建立个comp类的对象:comp user1=new comp() 然后Response.Write(user1.codf("试验2"));这样来调用它包含的那个类cod的共有方法还是不行啊!感觉外部类根本调用不了内部类的任何成员一样 怎么回事啊教程还说都能调用呢 而您说可以调用public internal  但我试验一下怎么都不行呢?
      

  2.   

    这个是我为了做那个试验而改的程序。comp user1 = new comp();这样实例化是正确的阿!但是Response.Write(user1.ff());这样调用cod的共有方法为什么不行呢!只能调用自身类的方法
    public partial class 类的镶套 : System.Web.UI.Page
    {
        public class comp
        {
            public class cod
            {
                private string use;
                
                public cod(string aa)//定义包含类的构造函数
                {
                    use = aa;
                
                }
                public string Use
                {
                    get { return use; }
                    set { use = value; }
                }            public string codf(string aa)//创建一个被包含类的方法
                {
                    return "你现在用的是"+aa;
                
                
                
                
                }
                public static string aa(int bb)
                {
                    return "一共用"+bb+"种语言";
                
                
                 
                }
                public string ff()
                { 
                return "内部方法";
                }        }        public comp()//包含类的构造函数
            {
            
            
            
            
            }
            public string fangfa()
            {            return "草";
            }
        
        
        
        
        
        
        }    protected void Page_Load(object sender, EventArgs e)
        {
            //comp.cod user = new comp.cod("这是一个试验");
            //Response.Write(user.Use);
            //Response.Write(user.codf("试验2"));
            //Response.Write(comp.cod.aa(30));        comp user1 = new comp();
            Response.Write(user1.fangfa());//外部类comp对象调用外部类的方法
            Response.Write(user1.ff());//这是外部类对象调用它内部的类cod的方法ff()
        }
    }