c#學習筆記02----自訂類庫及反編譯

來源:互聯網
上載者:User

標籤:val   window   bug   orm   rgs   ext   hello   public   提高   

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 Class110     {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。

 

 

 

 

 

 

   

c#學習筆記02----自訂類庫及反編譯

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.