ehd*_*hdv 0 c# generics extension-methods
我正在尝试编写一个接受类型对象T并返回的扩展方法IEnumerable<T>.
这是我的第一次尝试:
internal static class ObjectExtensions<T>
{
public static IEnumerable<T> Yield(this T item)
{
yield return item;
}
}
Run Code Online (Sandbox Code Playgroud)
这个功能有效,但只有我写ObjectExtensions<Foo>.Yield(foo):foo.Yield()不解决.
有没有办法声明一个扩展方法,它根据输入的类型返回一个泛型?
(我发现我已经发现Enumerable.Repeat符合我原来的要求,所以这个问题更好奇.)
您不需要将类指定为泛型,仅指定扩展方法.
internal static class ObjectExtensions
{
public static IEnumerable<T> Yield<T>(this T item)
{
yield return item;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
334 次 |
| 最近记录: |