gpt4 book ai didi

枚举对象的 C# 扩展方法

转载 作者:行者123 更新时间:2023-11-30 18:58:32 26 4
gpt4 key购买 nike

我正在尝试创建一个扩展方法,但无法让它工作。

所以这有效,在枚举类型示例上创建扩展方法:

public enum Pets
{
....
}

上面的 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()

... 因为那是在“实例”(一个值)上调用扩展方法。请注意,它最终会限制值(value)。

关于枚举对象的 C# 扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34297495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com