我有一个方法 -
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()解决方法?
答案 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>;
}