委托泛型方法返回<t> </t>

时间:2014-05-29 12:42:35

标签: c# asp.net delegates generic-programming

我有一个方法 -

public T GetField<T> (string tableName, string fieldName)
{
    //Code
}

我需要一个代表来持有这个方法。不知道如何为上述方法声明委托。

现在,如果我改变方法

public T GetField<T> (string tableName, string fieldName, params IDbDataParameter[] parameters)
{
    //Code
}

public T Func<string,string ,string,IDbDataParameter[],T> GetFieldAction = GetField;// This is wrong

有什么建议吗?可能吗?我可以拥有一个可以保存泛型返回类型方法的委托吗?

是否有任何Func()解决方法?

1 个答案:

答案 0 :(得分:2)

为什么不Func<string, string, T>

或者,如果您不想使用Func

delegate T MyDelegate<T>(string tableName, string fieldName);

编辑:解决您的评论的示例代码:

delegate T MyDelegate<T>(string tableName, string fieldName, params IDbDataParameter[] parameters);

private T GetField<T>(string tableName, string fieldName, params IDbDataParameter[] parameters)
{
  return default(T);
}

void Main()
{
  MyDelegate<int> del = this.GetField<int>;
}