これが機能するために私は何をしようとしていることである:遅延バインディングでMEF経由でエクスポートされたデリゲートをどのように呼び出すのですか?
GetMethod(Key key)(...some arguments...)
「...いくつかの引数が...」パラメータの数に含め、GetMethodの各呼び出しの間で変化しないので、何があります特定のアクション< ...>私が使用することができます。
これで、GetMethodは引数リストを調べてTupleのリスト内で一致するものを見つけ出し、そのTupleの第2引数を返します。このリストは
今<some CompositionContainer>.GetExports(new ImportDefinition(a => true, "...", ImportCardinality.ZeroOrMore, true, false))
.Select(e => (Tuple<Key, dynamic>)Tuple.Create((Key)e.Metadata["Key"], e.Value))
.ToList();
でMEFを使用して作成された、typleの2番目の項目は、実際に適切なタイプのアクションではなく、ExportedDelegateではないようです。 GetMethod(...)(...)が実際に動作するように、2番目の項目が実際に正しいActionであるようにする方法はありますか?
私が探しているデリゲートを知る必要があるので、私のシナリオ(GetMethod(...)(...)を使用して)はこれまでどおりに動作しません。私は、それが渡された引数で呼び出されるExportedDelegateを単に伝えることはできませんか? – Jamie
いいえ、ある時点で、デリゲートタイプが何である必要があるかを知る必要があります。 –
よろしくお願いします。私が望んでいた答えではありませんでしたが、それについては何もできません。 – Jamie