2.1 自定義類庫 自定義類庫能封裝核心代碼,保證核心的代碼在交付給客戶時,不讓客戶泄露,同時也防止非專業人士的私自更改。另外能提高程式代碼的復用率,使得代碼量減少,程式結構簡潔。自定義類庫就是程式中常見的.dll文件。 新建一個people的自定義類庫,其實吧,就和java中的導包一樣的。 類庫和 ...
2.1 自定義類庫
自定義類庫能封裝核心代碼,保證核心的代碼在交付給客戶時,不讓客戶泄露,同時也防止非專業人士的私自更改。另外能提高程式代碼的復用率,使得代碼量減少,程式結構簡潔。自定義類庫就是程式中常見的.dll文件。
新建一個people的自定義類庫,其實吧,就和java中的導包一樣的。
類庫和可移植類庫的區別在於,類庫是用於Windows pc機的,可移植類庫可用於其他平臺,比如Windows的手機等。新建一個以pelple為命名空間的類庫Class1並給2個屬性和一個方法用於測試。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace people 8 { 9 public class Class1 10 { 11 //屬性 12 private string name; 13 private int age; 14 //構造方法 15 public Class1() {//無參構造 16 } 17 public Class1(string name, int age) { 18 this.name = name; 19 this.age = age; 20 } 21 22 23 //get/set方法 24 public string class1Name { 25 get { 26 return name; 27 } 28 set { 29 name = value; 30 } 31 } 32 33 public int class1Age { 34 get { 35 return age; 36 } 37 38 set { 39 age = value; 40 } 41 42 } 43 //自定義方法 44 public String sayHello() { 45 string rtg; 46 Class1 c=new Class1(); 47 c.name = "wuxinwuxin"; 48 c.age = 18; 49 rtg = "大家好!我是" + c.age + "的" + c.name; 50 return rtg; 51 } 52 53 54 } 55 }
選中項目右鍵----》生成(U)即可。找到項目所在的debug文件夾,可以找到生成的類庫。
新建一個項目引用類庫。找到項目下的應用,右鍵----》添加引用。
引用添加成功後,引用表裡除了.NET自帶的類庫之外,會有一個people的類庫。
測試代碼如下:
1 using System;
2 using System.Collections.Generic;
3 using System.Data;
4 using System.Drawing;
5 using System.Linq;
6 using System.Reflection;
7 using System.Text;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10 using people;//自定義類庫
11
12 private void button4_Click(object sender, EventArgs e)
13 {
14 Class1 c = new Class1();
15 c.class1Name = "測試";
16 textBox1.Text = c.class1Name ;
17 string rtg = c.sayHello();
18 textBox1.Text += "/*/*/*/* " + rtg;
19
20 }
顯示如下:
到此以後其他程式需要用到我的這個people命名空間下麵的類和方法時,只要把我的這個people.dll文件拷貝過去就ok了,不需要重新實現了,當然這樣的類庫必須是重用性特別高的,比如連接oracle的.dll類庫,否則我感覺沒太大必要,除非是了保證代碼安全,這樣別人在調用我的這個類庫時,他就不用管我內部到底是如何實現的了,這樣對後來的接手維護程式的人來說,不是一個天大的好事麽?
2.2 反編譯
反編譯前面的逆過程,有的時候我們對別人提供的dll類庫好奇的時候,想要研究他是如何實現的時候就需要反編譯。.dll文件一旦你生成之後,包括VS以及電腦一些常見的文本閱讀器都是打不開的,這時需要一個軟體Reflector軟體來打開.dll文件(不是所有的都能反編譯,最新版本可能反編譯能力要強點吧!有官網的)。
軟體使用很簡單,打開people.dll。