绑定到目标方法的错误

本文关键字:错误 方法 目标 绑定 | 更新日期: 2023-09-27 18:17:38

我试图从助手类调用静态方法,其类型直到运行时才知道。我以为我已经解决了这个问题,但我得到以下错误-

"绑定到目标方法出错。"

有人能看出这段代码有什么问题吗?如有任何帮助,我将不胜感激。

    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"是包含方法的helper类,它试图调用的方法显示在下面-

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

绑定到目标方法的错误

您应该使用Func<DbContext, string>而不是Func<string>