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

时间:2020-04-30 18:20:45

标签: c# generic-collections

我想知道这是否完全可能。由于我对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()
    }
}

我知道有更好的设计解决方案,而且这不是一个真正的问题,但是我很好奇,无法找到任何答案。

1 个答案:

答案 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);
    }
}
相关问题