[英]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.