<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成人| 亚洲日本中文字幕天天更新| 亚洲精品视频免费在线观看| 亚洲成_人网站图片| 2048亚洲精品国产| 1a级毛片免费观看| 成人亚洲国产精品久久| 久久综合图区亚洲综合图区| 成人毛片18女人毛片免费| 野花视频在线官网免费1| 久久久亚洲AV波多野结衣| 亚洲av高清在线观看一区二区| 久久aⅴ免费观看| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲视频在线观看| 国产一区二区免费在线| 91老湿机福利免费体验| 男女猛烈xx00免费视频试看| 99ri精品国产亚洲| 亚洲第一区精品观看| 免费可以看黄的视频s色| 久久久久女教师免费一区| 亚洲中文字幕无码中文字| 国产亚洲综合久久系列| 国产免费拔擦拔擦8x| 国产大片免费网站不卡美女 | 婷婷亚洲综合一区二区| 噜噜噜亚洲色成人网站∨| 亚洲国产一区二区三区| 女人张腿给男人桶视频免费版| 爽爽爽爽爽爽爽成人免费观看 | 18女人腿打开无遮掩免费| 妇女自拍偷自拍亚洲精品| 亚洲丝袜中文字幕| 久久久久亚洲AV成人片| 亚洲综合色自拍一区| 日韩亚洲国产二区| 国产日产成人免费视频在线观看| 国产大片免费网站不卡美女| 3344在线看片免费| GOGOGO免费观看国语|