<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Assembly(c#中簡單說明)
    2008-07-11 00:27

    什么是Assembly(程序集)?
    Assembly是一個包含來程序的名稱,版本號,自我描述,文件關聯關系和文件位置等信息的一個集合。在.net框架中通過Assembly類來支持,該類位于System.Reflection下,物理位置位于:mscorlib.dll。

    Assembly能干什么?
    我們可以通過Assembly的信息來獲取程序的類,實例等編程需要用到的信息。

    一個簡單的演示實例:
    1.建立一個Console工程名為:NamespaceRef
    2.寫入如下代碼:

    1using System;
    2using System.Collections.Generic;
    3using System.Text;
    4using System.Reflection;
    5
    6namespace NamespaceRef
    7{
    8    class Program
    9    {
    10        static void Main(string[] args)
    11        {
    12             Country cy;
    13             String assemblyName = @"NamespaceRef";
    14            string strongClassName = @"NamespaceRef.China";
    15            // 注意:這里類名必須為強類名
    16            // assemblyName可以通過工程的AssemblyInfo.cs中找到
    17             cy = (Country)Assembly.Load(assemblyName).CreateInstance(strongClassName);
    18             Console.WriteLine(cy.name);
    19             Console.ReadKey();
    20         }
    21     }
    22
    23    class Country
    24    {
    25        public string name;
    26     }
    27
    28    class Chinese : Country
    29    {
    30        public Chinese()
    31        {
    32             name = "你好";
    33         }
    34     }
    35
    36    class America : Country
    37    {
    38        public America()
    39        {
    40             name = "Hello";
    41         }
    42     }
    43}

    由于Assembly的存在給我們在實現設計模式上有了一個更好的選擇。
    我們在開發的時候有時候會遇到這樣的一個問題,根據對應的名稱來創建指定的對象。如:給出chinese就要創建一個chinese對象,以前我們只能這樣來寫代碼:
    1if (strongClassName == "China")
    2     cy = new China();
    3else if (strongClassName == "America")
    4     cy = new America();
    那么如果我們有很長的一系列對象要創建,這樣的代碼維護起來是很困難的,而且也不容易閱讀。現在我們可以通過在外部文件定義類的程序集名稱和類的強名稱來獲得這樣一個實例,即易于理解,又增強了擴展性還不用修改代碼。
    cy = (Country)Assembly.Load(assemblyName).CreateInstance(strongClassName);

    結論
    Assembly類有很多的方法和屬性,它和Type一樣有很多功能用于名稱與方法和屬性之間的轉化。深入理解這兩個類,你就可以清晰通用語言層是如何工作。

    文章來源:http://www.cnblogs.com/wangdetian168/archive/2008/10/18/1313990.html
    posted on 2010-09-30 12:22 sanmao 閱讀(218) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产精品自在在线观看| 亚洲AV成人噜噜无码网站| 日本视频在线观看永久免费| 亚洲三级电影网站| 免费看香港一级毛片| yellow视频免费在线观看| 亚洲综合区图片小说区| 国产网站在线免费观看| 不卡视频免费在线观看| 亚洲w码欧洲s码免费| 亚洲人成影院在线无码观看| 国产92成人精品视频免费| 羞羞视频免费网站入口| 久久亚洲熟女cc98cm| 亚洲精品岛国片在线观看| 五月亭亭免费高清在线| 一个人免费观看视频在线中文| 亚洲国产一区在线观看| 狠狠亚洲狠狠欧洲2019| 丁香花在线观看免费观看| 99在线热播精品免费99热| 亚洲一区AV无码少妇电影| 久久亚洲AV无码精品色午夜麻| 国产自产拍精品视频免费看| 最刺激黄a大片免费网站| 一边摸一边桶一边脱免费视频| 亚洲一区在线观看视频| 国产A在亚洲线播放| 国产国产人免费视频成69大陆| 84pao强力永久免费高清| 一级做a爱片特黄在线观看免费看| 亚洲综合久久一本伊伊区| 亚洲精品高清国产一线久久| 拔擦拔擦8x华人免费久久| 久久久久久精品成人免费图片| 久久久久久噜噜精品免费直播| 老子影院午夜伦不卡亚洲| 亚洲伦理中文字幕| 亚洲综合色一区二区三区小说| 亚洲自偷自偷偷色无码中文| 国产免费变态视频网址网站|