有没有一种方法可以在C#中为自定义类的泛型集合创建一个方法



我想知道这是否可能。由于我对IEnumerator/IEnumerables不太满意,可能有一种方法可以做到,我不知道。我想它会变成这样:

public namespace cookietest
{
public static class Program{
public List<Cookie> cookies = new List<Cookie>();
CookieJar cookieJar = cookies.ToCookieJar();
}
public class Cookie{
public int size;
//Implementatin of ToCookieJar()
}
}

我知道有更好的设计解决方案,这不是真正的问题,但我很好奇,找不到任何关于它的信息。

您正在寻找的是扩展方法。

给定一个引用类型,比如List<T>,你可以用自己的方法"扩展"它,比如

public static class Program
{
public List<Cookie> cookies = new List<Cookie>();
CookieJar cookieJar = cookies.ToCookieJar();
}
public class Cookie
{
public int size;
}
public static class CookieExtensions
{
public static CookieJar ToCookieJar(this IEnumerable<Cookie> list)
{
return new CookieJar(list);
}
}

最新更新