C# 內部類

來源:互聯網
上載者:User

偶然在C#中看到內部類,即在類的內部定義類,

例如:System.Windows.Forms.Control類中又有ControlCollection,ControlAccessibleObject類的定義,

內部類的定義是為了供給該類自身使用,外部類無法進行使用,作用是:使內部類的可見度更小

可參考如下執行個體:

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;            //總之,內部類是主要是為了提供給其外部類自身使用,            //使內部類的可見度更小一些,提高封裝性        }    }}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.