簡體   English   中英

泛型方法傳遞給方法的委托嗎?

[英]Generic Methods pass in a delegate to the method?

是否可能有一個通用方法需要一個方法的委托(?)或僅一個代碼塊作為參數傳遞?

說我有AddJob()和AddJob2()。 我希望將這些傳遞給運行一些框架代碼的通用方法,然后執行AddJob或AddJob2。

謝謝!

編輯:
我在.net 2.0上。

當然:

public void AddJob(string jobName) { ... }
public void AddJob2(string jobName) { ... }

public void RunAddJob(Action addJob)
{
    ...
    addJob();
}

static void Main()
{
    RunAddJob(() => AddJob("job1"));
    RunAddJob(() => AddJob2("job2"));
}

編輯:非通用System.Action是.NET 3.5中的新增功能。 對於.NET 2.0,您可以假定:

public delegate void Action();

對於LINQ,大多數Enumerable類都是這樣工作的。

T MyFunc<T>(T t, Func<T, T> addjob)
{
    return addjob(t);
}


MyFunc(5, i => i + 10);

暫無
暫無

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

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