绑定到目标方法时出错

时间:2013-06-10 14:27:54

标签: c# dynamic reflection

我试图从一个helper类调用一个静态方法,直到运行时才知道该类型。我以为我已经解决了问题,但是我收到了以下错误 -

“绑定到目标方法时出错。”

有人能看到这段代码有什么问题吗?任何帮助将不胜感激..

    Delegate del = Delegate.CreateDelegate(typeof(Func<string>),
                    typeof(RepositoryStringExtensions).GetMethod("GetTableName", BindingFlags.Static | BindingFlags.Public)
                    .MakeGenericMethod(new Type[] { objectType })) as Func<string>;

    string tableName = (string)del.DynamicInvoke(context);

上面的“objecttype”类型可以是任何类,“RepositoryStringExtensions”是包含该方法的帮助器类,它试图调用的方法显示在下面 -

    public static string GetTableName<T>(this DbContext context) where T : class
    {
        ObjectContext objectContext = ((IObjectContextAdapter)context).ObjectContext;

        return objectContext.GetTableNameByObject<T>();
    }

1 个答案:

答案 0 :(得分:2)

您应该使用Func<DbContext, string>代替Func<string>