簡體   English   中英

如何使通用方法和通用輸入參數接受列表<classname>

[英]How to make generic method and generic input parameter to accept list<classname>

public interface IMerge
{
   byte[] Process(List<Image> req);
}

public class Merge : IMerge
{
  public byte[] Process ( List<Image> req)
  {
    // processing
  }
}

現在,上面的代碼是許多人使用的一種庫。 所以dll。

我想將此接口方法作為支持List的通用輸入參數。 怎么做?

我的呼叫者具有以下內容:

public class Image 
{
  public string Name { get; set;}
  public byte[] ImageData { get; set ;}
} 

伙計們,我不想將我的業務對象項目dll引用到我的可重用組件(即IImage)上。 我想知道是否有使IMerge通用的方法,所以我仍然能夠實現上述相同

我認為您想要這個,但是我不確定我是否完全理解您的問題

public byte[] Process<T>(List<T> req) {
...
}

您可以使您的接口及其實現通用,以接受您想要發送給的類

public interface IMerge<T>
{
    byte[] Process(List<T> req);
}

public class Merge<T> : IMerge<T>
{
    public byte[] Process(List<T> req)
    {
        // processing
    }
}

您可以像這樣使用它

//Create sample List of Image class
List<Image> images = new List<Image>();

//Pass above list to generic method in Merge class
var result1 = new Merge<Image>().Process(images);

暫無
暫無

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

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