4
を作成し、私はこのリフレクション.NETのコアは、ラムダ式
IServiceProvider provider => provider.GetService<TDbContext>()
あるいは、GetService
は、拡張メソッドであるとして、より具体的にするようになります(リフレクションを使用して)ラムダ式を作成しようとしています:
provider => ServiceProviderServiceExtensions.GetService<TDbContext>(provider)
は、これは私のコードです:
var methodInfo = typeof(ServiceProviderServiceExtensions).
GetTypeInfo().
GetMethod("GetService").
MakeGenericMethod(typeof(TDbContext));
var lambdaExpression = Expression.Lambda(
Expression.Call(methodInfo, Expression.Parameter(typeof(IServiceProvider), "provider")),
Expression.Parameter(typeof(IServiceProvider), "provider")
);
var compiledLambdaExpression = lambdaExpression.Compile();
私はこのエラーを取得しています
「System.InvalidOperationException」種類の例外は System.Linq.Expressions.dllで発生したが、ユーザーコードで
追加情報処理されませんでした:タイプ の変数 'プロバイダ「System.IServiceProvider」スコープ 'から参照されていますが、 が定義されていません