熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#學習之——認識C#的內部類

2013-11-13 09:53:01  來源: .NET編程 

  C#中的內部類能夠使用外部類定義的類型和靜態方法但是不能直接使用外部類的實例方法直接看來外部類對於內部類的作用更像是一個命名空間在C#中始終可以用(只要訪問控制允許)

  SysModelKey   key = new ModelKey()來創建一個內部類的實例這個實例與外部類的任何實例沒有任何直接的關系類似於Java中的靜態內部類

  在C#中類區分為Nested Class和NotNested Class前者是聲明在其他數據類型內部的類後者是直接定義在某一個命名空間的類

  非內嵌類只允許使用public和internal的訪問控制而內置類則允許使用所有的五種訪問控制符private protected internal protectedpublic和internal內部類也可以訪問外部類的所有方法包括instance方法和private方法但是需要顯式的傳遞一個外部類的實例

  創建內部類的一個目的是為了抽象外部類的某一狀態下的行為或者內部類僅在外部類的某一特定上下文存在或是隱藏實現通過將內部類設為private可以設置僅有外部類可以訪問該類內部類的另外一個重要的用途是當外部類需要作為某個特定的類工作而外部類已經繼承與另外一個類的時候因為C#不支持多繼承所以創建一個對應的內部類作為外部類的一個fa?ade來使用

  內部類的反射名稱的改為+例如SysModel+Key「其中Key是Model的內部類」


From:http://tw.wingwit.com/Article/program/net/201311/11855.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.