考虑下面的代码:使用嵌套类中定义的扩展方法
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