Extension methods on a static class?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Can I add extension methods to an existing static class?
我知道我可以做下面的扩展课程。我有一个要扩展的静态类。我该怎么做?我想写信给
1 2 3 | static public class SomeName { static public int HelperFunction(this SomeClass v) |
You can't have extension methods on static classes because extension methods
are only applicable to instantiable
types and static classes cannot be
instantiated.
请检查此代码。
1 2 3 4 5 6 7 8 9 | public static bool IsEmail(this string email) { if (email != null) { return Regex.IsMatch(email,"EmailPattern"); } return false; } |
isemail()的第一个参数是扩展类型实例,而不仅仅是类型本身。不能有静态类型的实例。
不能在C中扩展静态类。扩展方法通过定义在某些类型上显示为实例方法的静态方法来工作。不能定义扩展静态类的扩展方法。
您可能希望将静态类转换为单例类。那么类只有一个实例。您可以对它使用扩展方法,因为它是一个实例。
这样,您就可以访问类的源代码。