1

実行時までタイプがわからないヘルパー クラスから静的メソッドを呼び出そうとしています。私は問題を解決したと思っていましたが、次のエラーが発生しています -

「ターゲット メソッドへのバインド エラー。」

このコードの何が問題なのか誰にもわかりますか? どんな助けでも大歓迎です..

    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>();
    }
4

1 に答える 1

2

Func<DbContext, string>の代わりに使用する必要がありFunc<string>ます。

于 2013-06-10T14:35:54.507 に答える