绑定到目标方法的错误
本文关键字:错误 方法 目标 绑定 | 更新日期: 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>