gpt4 book ai didi

c# - 在 C# 中扩展 Enumerable 类?

转载 作者:太空狗 更新时间:2023-10-29 22:15:18 25 4
gpt4 key购买 nike

我需要在 C# 中扩展 Enumerable 类以添加接受长参数的新 Range 方法。我不能这样定义方法

public static IEnumerable<long> Range(this Enumerable source, long start, long length)
{
for (long i = start; i < length; i++)
{
yield return i;
}
}

因为扩展方法只能通过其对象访问。它给了我一个错误

'System.Linq.Enumerable': static types cannot be used as parameters

谁能告诉我怎么做

注意:我知道我们可以在没有扩展方法的情况下轻松解决这个问题,但我需要这个 Enumrable 类。

最佳答案

你(像我一样)正在寻找静态扩展方法:

http://madprops.org/blog/static-extension-methods/

这在 C# 中是不可能的。最接近的替代方法是定义另一个具有相似名称(LongEnumerable?)的静态类,并将您的静态方法添加到该类中。

关于c# - 在 C# 中扩展 Enumerable 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1679476/

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