2009-07-07 23 views
0

を持っていない具体的なタイプであるコンストラクタパラメータを必要とするコンポーネントを登録する私は流暢なインターフェイスを使用して、以下のクラスを登録しようとしています:にはインターフェース

public class DirectorySync : IDirectorySync 
{ 
    public DirectorySync(DirectoryInfo sourceDir, DirectoryInfo targetDir) 
    { 
    _sourceDirectory = sourceDir; 
    _targetDirectory = targetDir; 
    } 
} 

は、どのように私はDirectoryInfoのインスタンスを指定して行くのですか?彼らは、次のようになります。

var sourceDirectory = new DirectoryInfo("some known file path"); 
var installationDirectory = new DirectoryInfo("some other known file path"); 

これは私がこれまで持っているものです。

_container.Register(Component 
    .For<IDirectorySync>() 
    .ImplementedBy<DirectorySync>() 
    .Parameters(Parameter.ForKey("sourceDir").Eq(???)) 
    .Parameters(Parameter.ForKey("targetDir").Eq(???)) 
    .LifeStyle.Is(LifestyleType.Transient)); 

答えて

1

がそれを手に入れました!

_container.Register(Component 
       .For<IDirectorySync>() 
       .ImplementedBy<DirectorySync>() 
       .LifeStyle.Is(LifestyleType.Transient) 
       .DependsOn(new 
          { 
           sourceDir = new DirectoryInfo("some known file path"), 
           targetDir = new DirectoryInfo("some other known file path") 
          }) 
       ); 
+0

はい、正確です。 –

関連する問題