从泛型委托函数获取参数类型
本文关键字:获取 参数 类型 函数 泛型 | 更新日期: 2023-09-27 18:10:44
我有一个字典中的泛型委托列表,请参见下面的委托存根。
public delegate TType Condition<T, TType>(T obj);
我有一个从另一个字典中得到的对象。我需要将对象强制转换为委托的正确类型。cond是在另一个dll中定义的当前委托函数。有什么建议或者其他可行的方法吗?谢谢!
foreach (var cond in _conditionDict[key])
{
try
{
Object obj = board[key] ;
Type objectType = obj.GetType();
if (objectType == condType)// need to find the condition type
{
Convert.ChangeType(obj, condType);//need to get condition typpe
}
}
如果你想从委托的实例中检索类型"T",使用这个调用:
obj.GetType().GetGenericArguments().First();