从通用委托函数中获取参数类型

时间:2014-06-27 17:16:34

标签: c# generics types delegates type-conversion

我有一个字典中的通用代表列表,请参阅下面的代理存根。

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

                    }

                }

1 个答案:

答案 0 :(得分:0)

如果你想检索类型&#34; T&#34;从您委托的实例中,使用此调用:

obj.GetType().GetGenericArguments().First();