从泛型委托函数获取参数类型

本文关键字:获取 参数 类型 函数 泛型 | 更新日期: 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();