組元是C# 4.0引入的一個新特性,編寫的時候需要基於.NET Framework 4.0或者更高版本。組元使用泛型來簡化一個類的定義。 先以下面的一段代碼為例子: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 public class Point 2 { 3 public int X { get; set;
C#編程經常使用屬性,也經常用特性,但是自訂用的比較少,但是老外的代碼卻很多使用。今天介紹一下,其實很簡單。 第一:自訂特性繼承System.Attribute類。第二:自定特性命名尾碼為Attribute,這樣符合微軟的命名風格,也符合編譯器的搜尋規則。第三:使用[]文法使用自訂特性。第四:可以使用反射來查看自訂特性; 測試代碼如下: Code highlighting produced by Actipro CodeHighlighter
C# 3.0就引入的新特性,擴充方法可以很大的增加你代碼的優美度,擴充方法提供你擴充.NET Framewoke類的擴充途徑,書寫和規則也簡單的要命。 編寫擴充方法有下面幾個要求:第一:擴充方法所在的類必須是全域的,不能是內部嵌套類。第二:擴充方法的類是靜態類。第三:擴充方法是靜態方法。第四:擴充方法的第一個參數的資料類型必須是要擴充類型。第五:擴充方法的第一個參數使用this關鍵字。 下面是一段很簡單的代碼: Code highlighting produced by Actipro
類索引器,可以使得你使用數組一樣的方式來訪問類的資料。這種訪問多見於數組,列表,詞典,雜湊表的快捷訪問。 實際上寫法很簡單,寫成:public T1 this[T2 i] 代碼如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 using System; 2 using System.Collections.Generic; 3
剛才有網友問是不是可以非同步發送郵件,我測試完全沒有問題。注意這裡用到了SendCompleted事件和SendAsync方法。 代碼如下,代碼簡單不做太多解釋,不懂得看我上一篇文章。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 using System; 2 using System.Collections.Generic; 3
字串和位元組流的轉化,主要用的是System.Text.Encoding類,下面的程式碼範例,實現了UTF8,UTF32,GB2312常用編碼的文本轉化,代碼很簡單,也不用解釋,放在這裡供大家參考,方便之餘,還是讚歎一個.net的給力吧!!Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 using System; 2 using
C++實現事件機制主要靠類的繼承重寫虛函數,映像比較深的MFC,以On開頭的函數。這樣如果要實作類別B監聽類A的機制,就必須用類B繼承類A,這種強制的繼承讓人很不爽。C#的事件機制就比較好,類A發布事件,任何類都可以訂閱,且沒有強制的繼承關係。C++典型的重寫虛函數事件機制: 1 //------------------------------------------------- 2 // 3 // c++ use extends class implement event.
第一:綁定運算子,:=:comboBox1.Text :=: textBox1.Text; //將文字框的內容綁定到下拉框。 第二:帶參數的泛型建構函式:public class T MyClass : T: class, new()//we might have public class T MyClass : T:class, new(int) 第三:支援null類型運算:int x? = null;int y? = x + 40; Myobject obj =