在上一篇文章中,老周介紹了表達式和語句,盡管老周沒有把所有的內(nèi)容都講一遍,但相信大伙至少已經(jīng)掌握基本用法。在本文中,咱們繼續(xù)探討 CodeDom 方面的奧秘,這一次咱們聊聊命名空間。
在開始之前,老周先厚著臉皮回答一位朋友的問題,有朋友問,我有一個代碼文件,或者我直接把代碼弄成文本,而不是生成的文檔,那這些代碼文本能編譯嗎? 當(dāng)然可以了,后面老周會介紹的,如果你有興趣,也可以自己研究研究,不難,其實蠻簡單的。
在講解過程中,可能老周會講到重復(fù)的知識點,希望大家理解,因為很多知識不是孤立的,都會有聯(lián)系,有時候說到一個東西,可能會牽扯到其他東西,老周一般都會廢話一下,就是為了讓大家更加明白,有時候難免會廢話一下。
好,節(jié)目正式開播。
了解代碼結(jié)構(gòu)后,大伙一定知道,在一個程序集中,可以包含若干個命名空間,然后命名空間下面包含類型列表。要生成命名空間,可以使用 CodeNamespace 類,只要指定命名空間的名字就可以聲明了。
下面代碼生成一個名為 Common 的命名空間。
CodeNamespace ns = new CodeNamespace("Common"); CodeCompileUnit unit = new CodeCompileUnit(); unit.Namespaces.Add(ns); CodeDomProvider prd = CodeDomProvider.CreateProvider("cs"); prd.GenerateCodeFromCompileUnit(unit, Console.Out, null);