c 命名空間 dll 與函式

2021-06-22 19:54:34 字數 1504 閱讀 8389

是對類的封裝,類似c++的namespace。c#中沒有標頭檔案與巨集定義。

若將乙個類prog包含在命名空間a中,那麼該類的完全限定名為a.prog。

using system;

using system.collections.generic;

using system.linq;

using system.text;

}}//namespace level_2

class myclass}}

檔案|新建專案|c#|類庫

寫好下列**後生成,即有需要的dll生成。

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace cc.net}}

新建專案,新增引用。

加上命名空間就可以用了。相當於把c的標頭檔案和庫檔案整合在一起了。

using system;

using system.linq;

using system.text;

using cc.net;

class program

}}/*

輸出hi cc

*/

從元資料。

被封裝進dll的類,只能看不能改。

我的理解:

cpp中,標頭檔案是宣告;lib是函式入口說明;dll是函式體。

c#中好像都包含進dll了。

cpp的庫函式要轉換為託管的dll才能被c#呼叫。

main首字母大寫,必須是乙個類的成員函式。

函式的引數:

//方法引數

using system;

using system.linq;

using system.text;

public int m_arr = new int ;

public void f2( int myarray)

}static void main(string args)

\n",a,b,c,d); //3212

obj.f2(obj.m_arr); //陣列作實參

foreach (int x in obj.m_arr)

//輸出135

console.read();}}

}

函式與命名空間

格式 返回值 引數 可變引數 內聯函式 函式過載 格式 返回型別 函式名 函式引數型別 函式引數,如果沒有形參可以直接在函式名後面加 或者 void 返回值說明 有返回值函式 無返回值函式 例子 例1 有返回值 double max double a,double b 例2 無返回值 void sh...

C 命名空間 預設命名空間與匿名命名空間

2.匿名命名空間 預設命名空間也叫全域性命名空間,所有沒有置於某一具體命名空間下的 即在預設命名空間下,例如func main 函式。include void func void intmain int argc,char ar void func void 需要注意的是 這個就是類似於c語言裡簡單...

dll匯出命名空間下的c風格函式陷阱

1 編譯階段,如果不是過載,那麼c風格的同名函式與c 風格的同名函式,就會報編譯錯誤。error c2084 function int test void already has a body。2 編譯期間,編譯器會檢查命名空間裡的函式。如sg test 編譯器會檢測是否有函式test 在sg命名空...