我正在尝试创建一个扩展方法,但无法使其工作.
所以这工作,在一个枚举类型的例子上创建扩展方法:
public enum Pets { .... }
以上宠物可以扩展创建一个扩展方法,如:
public static void Myex(this Pets pet) { ... }
但是当我尝试扩展Enum本身的例子如下:
Public static void something(this Enum en) { ... }
并试着像下面这样使用它
Enum.something();
这不起作用.
我试图创建类似Enum.Parse,Enum.IsDefined(已经由c#公开)的类似方法.
这与此无关Enum
- 但扩展方法"看起来"就像它们是实例方法一样.你不能"假装"添加静态方法,因为它看起来像你正在尝试做的.
你可以这样做:
Pets.SomeValue.something()
...因为那是在"实例"(值)上调用扩展方法.请注意,它最终会打击价值.