国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

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

2023-05-17 11:42:00
字體:
供稿:網(wǎng)友

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

第一部分:創(chuàng)建一個類庫

1、創(chuàng)建一個空類庫項目:

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

圖 1.

2、項目及其文件

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

圖 2.

關(guān)于項目中的命名空間

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

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沒有任何方法和屬性。就讓我們?yōu)槠涮砑右粋€方法和屬性吧。參加圖 3.

圖 3.

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

圖4.

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

圖5.

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

圖 6.

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

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

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

4、添加屬性

用同樣的方法打開C# 屬性向?qū)В蝾愔刑砑右粋€屬性,參見圖7.

圖 7.

本操作將打開C#屬性向?qū)АT谶@里,你可以鍵入你的屬性名稱、類型和訪問類型。同時,你可以設(shè)置get訪問器、set訪問器或同時選擇兩者。你也可以指定屬性是靜態(tài)的還是虛擬的。本類中添加了一個共有的Extra屬性,類型為bool型,并選擇get/set.如圖8.

圖 8.

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

圖 9.

如果你仔細地看一下Class1類,向?qū)槲覀兲砑恿藘蓚€方法. 

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

        get 
       
                return true; 
       
        set 
       
        }
}

5、為類添加其他代碼 

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

注意:我不準備為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

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

第二部分:建立客戶端應(yīng)用程序

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

1、創(chuàng)建控制臺應(yīng)用程序 

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

圖 10.

2、添加命名空間的引用

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

圖 11.

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

圖 12.

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

圖 13.

添加引用向?qū)涯愕膸斓囊锰砑拥疆斍绊椖恐衼恚鐖D 14.

圖 14.

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

圖15.

3、調(diào)用 mcMath 命名空間, 創(chuàng)建 mcMathComp對象并調(diào)用它的方法和屬性.

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

(1). 使用命名空間

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

using mcMath;

(2).創(chuàng)建 mcMathComp的對象

mcMathComp cls = new mcMathComp();

(3).調(diào)用方法和屬性

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

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

 

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());
                }
        }
}

現(xiàn)在編譯并運行項目,輸出結(jié)果如圖16所示。

圖 16.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 连平县| 安新县| 庆元县| 江油市| 长乐市| 乐平市| 莱芜市| 辽中县| 交口县| 宕昌县| 揭东县| 依安县| 武邑县| 伊吾县| 保山市| 镇赉县| 南川市| 措勤县| 阿拉善左旗| 商洛市| 莱阳市| 叙永县| 聂拉木县| 广宗县| 津南区| 奉化市| 云霄县| 进贤县| 阿拉善右旗| 白城市| 山丹县| 纳雍县| 克山县| 桂阳县| 民县| 堆龙德庆县| 缙云县| 当雄县| 扶余县| 商洛市| 南召县|