动态对象找不到方法

时间:2019-12-21 14:46:44

标签: c# dynamic

我有以下代码:

public T Dispatch<T>(IQuery<T> query)
{
    Type type = typeof(IQueryHandler<,>);
    Type[] typeArgs = { query.GetType(), typeof(T) };
    Type handlerType = type.MakeGenericType(typeArgs);

    dynamic handler = _provider.Resolve(handlerType);
    T result = handler.Handle((dynamic)query);

    return result;
}

如您所见,我已经解决了正确的IQueryHandler: enter image description here

我得到以下异常: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''object' does not contain a definition for 'Handle''

我使用.NET Framework 4.6.1,这是我可以在我们组织中使用的最高版本。所以我想C#7不支持我需要的功能。我该怎么做才能使这项工作成功?

0 个答案:

没有答案