1
A
回答
3
它使得這種方法的擴展方法。它擴展了DateTime
結構。
你可以這樣調用
DateTime dt = DateTime.Now;
string s = dt.TestFunc();
編譯器內部重寫最後一行
string s = TestFunc(dt);
如果擴展方法聲明如下
public static string TestFunc(this DateTime dt, string format)
{
}
你可以稱它這樣
string s = dt.TestFunc("dd.MM.YY");
擴展方法必須在靜態類中聲明。如果聲明類的名稱空間可用(或者因爲它位於相同的名稱空間中或因爲您使用using
導入了名稱空間),則可以將它們用於其他類中。如果您導入System.Linq
,您將看到很多擴展方法(在intellisense中),擴展了各種實現IEnumerable<T>
的集合。成員列表中的擴展方法顯示藍色箭頭。
3
在此上下文中,它用於定義extension method。
1
用於擴展DateTime
類型,即全部。
2
這是用來定義擴展方法的語法。它可以被稱爲一個正常的靜態函數:
DateTime dt = DateTime.Today;
string s = ClassName.TestFunc(dt);
或日期時間的「延伸」:
DateTime dt = DateTime.Today;
string s = dt.TestFunc();
0
你已經找到了DateTime
類型的extension method。
所以現在,沒有任何改變現有DateTime
代碼,你可以做以下內容:
DateTime MyDT = DateTime.Now;
string MyStr = MyDT.TestFunc();
// continue using MyStr as you wish...
相關問題
- 1. Python修飾符覆蓋函數參數
- 2. C#@方法參數修飾符
- 3. 模板參數修飾符
- 4. 編寫具有許多參數/修飾符的PHP函數
- 5. Scala的構造函數參數修飾符
- 6. 多個參數的Smarty修飾符
- 7. java的反映修飾符參數
- 8. 訪問修飾符的Scala參數?
- 9. C#修飾符'abstract'對此項無效
- 10. 函數的SQL Server訪問修飾符
- 11. 頭文件或源文件中的C++函數修飾符?快速參考
- 12. C#構造函數extern修飾符的用途
- 13. c# - ref修飾符...參考類型
- 14. PHP preg_replace函數修飾
- 15. 修飾器,改變函數的某些參數
- 16. C++ 11繼承構造函數和訪問修飾符
- 17. C++構造函數,繼承,訪問修飾符和東西
- 18. Eclipse /擺脫方法和構造函數參數的「final」修飾符
- 19. 可變參數模板中的聲明符修飾符位置
- 20. 的preg_match():未知的修飾PHP函數
- 21. 與函數參數的Python裝飾
- 22. C#靜態函數以此作爲Java函數的參數
- 23. C++順序修飾符
- 24. C#類/方法修飾符
- 25. 參數計數非法修飾符;只有最終被允許
- 26. 訪問修飾符C# - 內部修飾符
- 27. 在C++中沒有修飾符的RegisterHotKey
- 28. 如何在變量而不是參數上使用批量參數修飾符
- 29. const修飾的純虛函數
- 30. 修飾符異步對此項無效
可能重複(http://stackoverflow.com/questions/ [在C#這個參數修改?] 4700016/this-parameter-modifier-in-c) – 2012-03-02 19:51:47
如果你要糾正它,你至少應該糾正語法,......它應該讀「這個」在這種情況下代表什麼「?反對這個「什麼」在這裏? – 2012-03-02 19:52:21