我想知道这是否完全可能。由于我对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()
}
}
我知道有更好的设计解决方案,而且这不是一个真正的问题,但是我很好奇,无法找到任何答案。
答案 0 :(得分:1)
您要寻找的东西称为extension methods。
给定引用类型,例如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);
}
}