考慮下面的代碼:使用嵌套類中定義的擴展方法
1. namespace MyNS {
2. // A class
3. public class MyClass {
4. public string Do() {
5. return string.Blank();
6. }
7. // A nested type
8. protected static class Helper {
9. public static string Blank(this string str) {
10 return String.Empty;
11. }
12. }
13. }
14. } /* namespace */
然而管線5將導致程序不進行編譯。我知道爲了使用擴展方法,必須創建一個靜態類,並通過using
指令引用它的封閉名稱空間。
如何在靜態類是嵌套類時實現此目的?
我以前遇到過這個,基本上:你不能。相反,我做了我的靜態類'internal',在我的情況下證明是足夠的。 – MadSkunk
http://blog.slaks.net/2011/07/creating-local-extension-methods.html – SLaks
你是在字符串類型別名而不是字符串變量/字段上調用Blank()嗎? – elolos