【发布时间】:2013-06-06 05:58:49
【问题描述】:
我正在尝试从帮助类调用静态方法,其类型直到运行时才知道。我以为我已经解决了这个问题,但是我收到以下错误 -
“错误绑定到目标方法。”
谁能看出这段代码有什么问题?任何帮助将不胜感激..
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>();
}
【问题讨论】:
标签: c# dynamic reflection