绑定到目标方法的错误



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

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

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

    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>

相关内容

  • 没有找到相关文章

最新更新