簡體   English   中英

C#創建僅對我的類的數組有效的方法

[英]C# creating a method valid only for arrays of my class

假設我有一個foo類和另一個bar 我想在foo類中創建一個方法,將foo數組轉換為bar對象(不是數組),如下所示:

foo[] v1 = new foo[] { };
bar v2 = v1.ToBar();

我該怎么做?

您可以使用擴展方法

擴展方法使您可以將方法“添加”到現有類型,而無需創建新的派生類型,重新編譯或修改原始類型。 擴展方法是一種特殊的靜態方法,但是它們的調用就像是擴展類型上的實例方法一樣。 對於用C#和Visual Basic編寫的客戶端代碼,在調用擴展方法和在類型中實際定義的方法之間沒有明顯的區別。

您只需要一個公共靜態類來保存您的擴展方法。 請注意this第一個方法參數之前-這是什么使得它的擴展方法。

public static class FooExtensions
{ 
    public static Bar ToBar(this Foo[] source)
    {
        return new Bar();  // replace with correct logic;
    }
}

暫無
暫無

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

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