簡體   English   中英

有沒有辦法為 C# 中的自定義 class 的通用集合創建方法?

[英]Is there a way to create a method for a generic collection of a custom class in C#?

我想知道這是否可能。 因為我對 IEnumerator/IEnumerables 不太滿意,所以我不知道可能有辦法做到這一點。 我想它會 go 是這樣的:

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);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM