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