亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

在Visual C#.NET中創建類庫(DLL)

2023-05-17 11:42:00
字體:
來源:轉載
供稿:網友

使用C#創建一個DLL文件是非常簡單的事情。相信我,這比使用VC++要簡單的多。我把這個教程分成兩部分。(1)建立一個類庫;(2)建立客戶端程序來檢測這個DLL。

第一部分:創建一個類庫

1、創建一個空類庫項目:

選擇“文件”->新建->項目->Visual C#項目->類庫(Class Library). 輸入項目的名字、使用【瀏覽】按鈕選擇合適的路徑,單擊確定(OK).如圖1. 

圖 1.

2、項目及其文件

項目瀏覽器中顯示本項目添加了兩個C#類. 第一個是 AssemblyInfo.cs,第二個是Class1.cs. 我們不必關心AssemblyInfo. 我們只把注意力集中在Class1.cs上.如圖2.

圖 2.

關于項目中的命名空間

雙擊Class1.cs文件,你會看到一個mcMath命名空間(namespace)(注意:原文作者使用的項目名稱為mcMath,因此自動生成的命名空間名稱為mcMath,根據你設置的項目名稱不同,這里的命名空間名字不會一樣。) 在客戶端程序中可以通過引用這個命名空間而使用這里面的類. 

using System;

namespace mcMath


        /// <summary> 
        ///
Summary description for Class1. 
        /// </summary>
 
        public class
Class1 
       


                public Class1() 
               

                        // 
                        // TODO: Add constructor logic here 
                        // 
               
        }
}

通過生成這個新建立的項目確認沒有任何問題. 生成項目后,在你的項目中的“bin/debug “文件夾中,你會看到一個mcMath.dll文件. 

3、為類庫添加方法 

通過視圖菜單打開類視圖. 你馬上會看到類Class1沒有任何方法和屬性。就讓我們為其添加一個方法和屬性吧。參加圖 3.

圖 3.

在類Class1上右擊,選擇“添加->添加方法... ” 參加圖4.

圖4.

將會彈出C#方法設計器. 填入方法名稱、訪問類型、返回值類型、參數名字和注釋。使用【添加】或【移除】按鈕從參數列表中添加或刪除參數。這里添加了一個無參測試方法:mcTestMethod. 參加下圖5.

圖5.

我準備再添加一個方法: long Add( long val1, long val2 ). 這個方法是通過兩個數字然后輸出他們的和.完成設置單擊“完成”. 參見圖6.

圖 6.

上面的操作向類中添加兩個方法,如下面所示:

/// <summary>
/// //This is a test method
/// </summary>
public void mcTestMethod()
{  
}

public long Add(long val1, long val2)
{  
}

4、添加屬性

用同樣的方法打開C# 屬性向導,向類中添加一個屬性,參見圖7.

圖 7.

本操作將打開C#屬性向導。在這里,你可以鍵入你的屬性名稱、類型和訪問類型。同時,你可以設置get訪問器、set訪問器或同時選擇兩者。你也可以指定屬性是靜態的還是虛擬的。本類中添加了一個共有的Extra屬性,類型為bool型,并選擇get/set.如圖8.

圖 8.

添加完一個方法和一個屬性后,類視圖中的樣子如圖9所示(圖中已展開了類節點).

圖 9.

如果你仔細地看一下Class1類,向導為我們添加了兩個方法. 

/// <summary>
/// //This is a test property
/// </summary>
public bool Extra

        get 
       
                return true; 
       
        set 
       
        }
}

5、為類添加其他代碼 

現在為方法和屬性添加代碼。并且我想把Class1更名為mcMathComp,因為 Class1含義不清,當你在客戶端應用程序中使用這個類時會產生一些問題。確定你已改變了類的名字及它的結構.

注意:我不準備為mcTestMethod方法添加任何代碼,如果你想那可以添加一些。

using System;

namespace mcMath


        /// <summary> 
        ///
Summary description for Class1. 
        /// </summary>
 
        public class
mcMathComp 
        {

                private bool bTest = false

                public mcMathComp() 
               

                        // TODO: Add constructor logic here 
               

                /// <summary> 
                ///
//This is a test method 
                /// </summary>
 
                public void
mcTestMethod() 
                { }

                public long Add(long val1, long val2) 
               

                        return
val1 + val2; 
                }

                 /// <summary> 
                ///
//This is a test property 
                /// </summary>
 
                public bool
Extra 
               

                        get
 
                       

                                return
bTest; 
                       

                        set
 
                       
                                bTest = Extra ; 
                       
               
        }
}

6、生成 DLL

現在生成DLL,并檢查你項目中的 bin/debug 目錄. 你會看到生成的DLL文件。是不是非常簡單? Huh? :). 

第二部分:建立客戶端應用程序

在C#中調用一個DLL文件中的方法和屬性也是很簡單的事情。按照下面的步驟來使用DLL,看看它有多么的簡單。

1、創建控制臺應用程序 

選擇 文件->新建->項目->Visual C# 項目->控制臺應用程序. 這里將在控制臺應用程序中來檢測剛才創建的DLL. 參見圖10.

圖 10.

2、添加命名空間的引用

下一步是向庫中添加引用.你可以使用添加引用菜單來添加一個引用。選擇 項目->添加引用. 如圖11.

圖 11.

在這一頁中,點擊【瀏覽】按鈕來瀏覽庫。參加圖 12.

圖 12.

找到你剛才創建的DLL,并單擊【確定】.如圖 13.

圖 13.

添加引用向導將把你的庫的引用添加到當前項目中來,如圖 14.

圖 14.

添加完mcMath庫的引用后, 你會在解決方案中的樹形節點中看到這個引用.如圖 15.

圖15.

3、調用 mcMath 命名空間, 創建 mcMathComp對象并調用它的方法和屬性.

距離你調用自己的方法和屬性僅有一步之遙了,請按下面的步驟進行:

(1). 使用命名空間

在項目的開頭添加using mcMath代碼.

using mcMath;

(2).創建 mcMathComp的對象

mcMathComp cls = new mcMathComp();

(3).調用方法和屬性

現在你可以調用 mcMathComp 類的方法和屬性了。下面使用實例IRes調用方法并返回值,同時在控制臺中輸出結果。

完整的項目代碼列于下邊:

 

using System;
using mcMath;

        namespace mcClient
{
        /// <summary>
        /// Summary description for Class1.
        /// </summary>

                class Class1
        {

                        /// <summary>
                /// The main entry point for the application.
                /// </summary>
                [STAThread]
                static void Main(string[] args)
                {
                        mcMathComp cls = new mcMathComp();
                        long lRes = cls.Add( 23, 40 );
                        cls.Extra = false;
                        Console.WriteLine(lRes.ToString());
                }
        }
}

現在編譯并運行項目,輸出結果如圖16所示。

圖 16.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久久久久久| 日本亚洲精品在线观看| 日韩精品在线免费观看| 国产欧美在线播放| 久久久久成人精品| 久久99精品久久久久久琪琪| 亚洲理论在线a中文字幕| 欧美性videos高清精品| 日韩精品有码在线观看| 有码中文亚洲精品| 91视频88av| 欧洲s码亚洲m码精品一区| 欧美激情精品久久久久久黑人| 国产精品视频区| 青青草精品毛片| 国产成人一区二区三区电影| 日日骚av一区| 久久精品视频在线| 97视频com| 午夜精品久久久久久久99黑人| 亚洲精品乱码久久久久久金桔影视| 欧美有码在线观看视频| 一区二区三区动漫| 久久久久久国产| 国产精品高潮呻吟久久av黑人| 久久久av一区| 欧美黄色www| 日韩久久免费电影| 亚洲第一综合天堂另类专| 国产精品综合网站| 日韩久久免费电影| 亚洲一区二区精品| 欧美性猛交xxxx乱大交极品| 亚洲a在线观看| 国产欧美一区二区三区久久人妖| 国产亚洲欧洲黄色| 午夜精品久久久久久久白皮肤| 国产一区二区三区中文| 久久久久中文字幕2018| 黑人与娇小精品av专区| 亚洲黄色有码视频| 国产精品爱啪在线线免费观看| 亚洲人成五月天| 黄色一区二区在线观看| 亚洲精品久久久久久下一站| 91欧美精品午夜性色福利在线| 中文字幕欧美日韩va免费视频| 日韩电视剧免费观看网站| 亚洲国产高清福利视频| 18一19gay欧美视频网站| 亚洲成人激情小说| 亚洲免费福利视频| 欧美极度另类性三渗透| 日韩av影院在线观看| 国产一区视频在线| 国产欧美一区二区三区在线看| 国产精品88a∨| 91中文字幕在线观看| 性欧美办公室18xxxxhd| 一区二区三区视频在线| 国产欧美久久久久久| 国产日韩av在线| 国产精品视频久久| 日本一区二区在线免费播放| 久久97久久97精品免视看| 久久综合久久八八| 久久久久久尹人网香蕉| 亚州欧美日韩中文视频| 久久久日本电影| 亚洲精品自拍第一页| 91成品人片a无限观看| 日韩av在线免播放器| 97**国产露脸精品国产| 国产色综合天天综合网| 亚洲三级 欧美三级| 精品色蜜蜜精品视频在线观看| 亚洲国产美女久久久久| 88xx成人精品| 51ⅴ精品国产91久久久久久| 永久免费看mv网站入口亚洲| 亚洲午夜国产成人av电影男同| 欧美人成在线视频| 亚洲性夜色噜噜噜7777| 亚洲欧美日韩久久久久久| 亚洲午夜未删减在线观看| 日韩免费在线观看视频| 538国产精品视频一区二区| 欧美性猛交xxxx乱大交3| 日韩精品免费观看| 亚洲欧美日韩视频一区| 九九久久国产精品| 亚洲二区在线播放视频| 久久好看免费视频| 亚洲国产精品va在线看黑人| 日韩欧美a级成人黄色| 日韩综合中文字幕| 亚洲国产精品久久91精品| 在线播放国产一区中文字幕剧情欧美| 97免费视频在线播放| 日韩国产一区三区| 高清日韩电视剧大全免费播放在线观看| 国产欧美一区二区三区久久人妖| 国产成人一区三区| 国产福利精品在线| 国产精品大片wwwwww| 91视频-88av| 最近2019中文字幕第三页视频| 国产精品mp4| 色青青草原桃花久久综合| 91中文精品字幕在线视频| 亚洲人a成www在线影院| 成人久久久久爱| 亚洲欧美成人一区二区在线电影| 国产原创欧美精品| 国产中文字幕亚洲| 蜜臀久久99精品久久久无需会员| 国产精品一香蕉国产线看观看| 亚洲精品之草原avav久久| 国产97色在线| 国产女人精品视频| 国产精品免费视频久久久| 亚洲国产精品成人一区二区| 精品美女久久久久久免费| 国产欧美日韩精品专区| 亚洲嫩模很污视频| 26uuu国产精品视频| 精品久久久91| 国产成人a亚洲精品| 国产精品v片在线观看不卡| 国产精品久久久久aaaa九色| 欧美日韩亚洲一区二区| 日本一欧美一欧美一亚洲视频| 中文字幕在线视频日韩| 欧美亚洲日本黄色| 国产亚洲a∨片在线观看| 亚洲精品一区在线观看香蕉| 国产xxx69麻豆国语对白| 亚洲人成绝费网站色www| 茄子视频成人在线| 国产精品视频yy9099| 日韩欧美第一页| 欧美一区二区三区免费视| 亚洲va欧美va国产综合久久| 一本久久综合亚洲鲁鲁| 国产91精品网站| 国产精品免费在线免费| 久久精品国产一区二区电影| 中文字幕久热精品视频在线| 欧美日韩精品在线视频| 夜夜躁日日躁狠狠久久88av| 亚洲国产精品嫩草影院久久| 成人欧美一区二区三区在线| 日韩美女av在线免费观看| 日本aⅴ大伊香蕉精品视频| 97香蕉超级碰碰久久免费软件| 国产成人精品免费视频| 88xx成人精品| 国产精品流白浆视频| 欧美日韩爱爱视频| 国产在线视频2019最新视频| 国产丝袜一区视频在线观看| 欧美中在线观看| 日韩中文字幕在线视频播放| 国产美女直播视频一区|