私は依存性注入を使用するのは非常に初めてで、WPFアプリケーションのNinjectで試してみています。クラス間でパラメータをどのように渡す必要があるのか疑問に思いました。
例えば
public class ViewPersonViewModel : ViewModelBase
{
    private IDataAccessService _dataService;
    private IPerson _person;
    private string _remarks;
    // binded to textbox
    public string Remarks
    {
        get { return _remarks; }
        set {
            if (_remarks != value) {
                remarks = value;
                OnPropertyChanged("Remarks");
            }
        }   
    }
    public ViewPersonViewModel(
        IDataAccessService dataService, IPerson person)
    {
        _dataService= dataService;
        _person = person;
    }
    // binded to Button
    public void RetrieveStatus()
    {
        Remarks = _dataService.RetrieveRemarks(_person);
    }
}
ここでは、dataServiceは固定クラスであり、おそらく私ができることです。
class Module : Ninject.Modules.NinjectModule 
{
    public override void Load() 
    {
        Bind<IDataAccessService>().To<DefaultDataAccessService>();
    }
}
しかし、呼び出し元のクラスによって設定されるpersonパラメーターをどのように処理する必要があるかを知りたいと思います。
コンストラクターで追加のパラメーターを使用してNinjectを使用してインスタンスを作成することから、コンストラクターで追加のパラメーターを渡すことが可能であることがわかりました。
ただし、いくつか懸念があります。
kernel.Get<MyClass>( With.Parameters.ConstructorArgument( "parameterName", parameterValue) );理想的な方法を使用し ていますか?parameterName間違って入力したときなど、デバッグで多くの問題が発生しませんか?ルーベンは、プロバイダーが関与するより複雑な方法の使用についても言及しました。ここに適用できますか?もしそうなら、どうすれば使用できますか?