欢迎来到 IT实训基地-南通科迅教育
咨询电话:0513-81107100
C# 内部类
2017/2/24
科迅教育
511
南通网页设计培训效果如何-基础教学
偶然在C#中看到内部类,即在类的内部定义类,
例如:System.Windows.Forms.Control类中又有ControlCollection,ControlAccessibleObject类的定义,
内部类的定义是为了供给该类自身使用,外部类无法进行使用,作用是:使内部类的可见性更小
可参考如下实例:
[csharp] v 
namespace DesignPattern.InnerClass  
{  
    /// <summary>  
    /// 外部类  
    /// </summary>  
    public class OuterClass  
    {  
        /// <summary>  
        /// 类名  
        /// </summary>  
        public string Name { get; set; }  
  
        public string InnerClassName  
        {  
            get  
            {  
                InnerClass inner = new InnerClass();  
                return inner.Name;  
            }  
        }  
  
        public OuterClass.InnerClass myInnerClass  
        {  
            get;  
            set;  
        }  
  
        /// <summary>  
        /// 内部类(其访问修饰符决定其对外的可见性)  
        /// </summary>  
        public class InnerClass  
        {  
            /// <summary>  
            /// 类名  
            /// </summary>  
            public string Name  
            {  
                get  
                {  
                    return "My Name is InnerClass";  
                }  
            }  
        }  
  
    }  
  
    /// <summary>  
    /// 内部类  
    /// </summary>  
    public class InnerClass  
    {  
        /// <summary>  
        /// 类名  
        /// </summary>  
        public string Name  
        {  
            get  
            {  
                return "My Name is InnerClass";  
            }  
        }  
  
        /// <summary>  
        /// 时间  
        /// </summary>  
        public string Date  
        {  
            get  
            {  
                return "2013-1-1";  
            }  
        }  
    }  
  
    public class Test  
    {  
        public void TestMethod()  
        {  
            OuterClass outClass = new OuterClass();  
            string result = outClass.InnerClassName;  
  
            //1.内部类只能通过(外部类.内部类)的方式使用,  
            //2.另外内部类如果不声明为public时,则外部程序无法使用它  
            OuterClass.InnerClass inner = new OuterClass.InnerClass();  
            string name = inner.Name;  
  
            //非内部类测试,在编译时两者(InnerClass与OutClass.InnerClass)不相冲突  
            InnerClass inner2 = new InnerClass();  
            string name2 = inner2.Name;  
            string date = inner2.Date;  
  
            //总之,内部类是主要是为了提供给其外部类自身使用,  
            //使内部类的可见性更小一些,提高封装性  
77
关闭
先学习,后交费申请表
每期5位名额
在线咨询
免费电话
QQ联系
先学习,后交费
TOP
您好,您想咨询哪门课程呢?
关于我们
机构简介
官方资讯
地理位置
联系我们
0513-91107100
周一至周六     8:30-21:00
微信扫我送教程
手机端访问
南通科迅教育信息咨询有限公司     苏ICP备15009282号     联系地址:江苏省南通市人民中路23-6号新亚大厦三楼             法律顾问:江苏瑞慈律师事务所     Copyright 2008-