6

NtfsFileSystemStructureEvaluatorFtpFileSystemStructureEvaluatorの2つの具体的な実装を持つインターフェイスIFileSystemStructureEvaluatorがあります。

コンストラクターに渡されるURIがFTPURIのファイルURIであるかどうかに応じて、適切なIFileSystemStructureEvaluatorを要求できるようにしたいと思います。

StructureMapでこれを実現するにはどうすればよいですか?

ありがとう

4

1 に答える 1

3

JeremyMillerによる条件付きオブジェクト構築の投稿を確認する必要があります。これにより、インスタンスとして取得するものを決定する際にいくつかの条件付きチェックを使用できます。それはあなたの問題の解決策のように聞こえます。

http://codebetter.com/blogs/jeremy.miller/archive/2009/01/18/conditional-object-construction-in-structuremap-ie-fun-with-lambdas.aspx

以下の編集

条件付き構築の実行について、StructureMapユーザーリストにいくつかの質問があります(つまり、この条件の場合はこのオブジェクトを返し、そうでない場合はこの他のオブジェクトを返します)。この明らかなニーズを満たすために、StructureMap 2.5.2では、ユーザーが述語ブールテストに基づいてアクティブなインスタンスを効果的に切り替えることができる新しいConditionalInstanceが導入されています。InstanceExpressionの新しいConditional()構文を使用する簡単な例を次に示します。

var container = new Container(x =>
{
    x.InstanceOf<Rule>().Is.Conditional(o =>
    {
        o.If(c => false).ThenIt.Is.OfConcreteType<ARule>();
        o.If(c => true).ThenIt.IsThis(GREEN);
        o.TheDefault.IsThis(RED);
    }).WithName("conditional");
});

ウェイバックマシンでさらに利用可能 https://web.archive.org/web/20090506031557/http://codebetter.com/blogs/jeremy.miller/archive/2009/01/18/conditional-object-construction-in- structuremap-ie-fun-with-lambdas.aspx

于 2009-08-12T12:05:45.860 に答える