私はwinformユーザーコントロールを持っています。コンストラクタでは、依存関係をインスタンス化します。それは私はあなたが明示的Form.Close()
を呼び出すまで加盟国が持続思っwinformコントロールの状態を理解する
public IProvider provider {get;set;}
public MyUserControl()
{
InitializeComponent();
provider = new MockProvider();//for testing. Will pass into constructor eventually
}
private void MyUserControl_Load(object sender, EventArgs e)
{
SomeModel model = new SomeModel(provider);//provider is null
//do work
model.InsertIntoDb();
}
のようになります。では、なぜLoadイベントでプロバイダオブジェクトがnullですか?
コントロールをロードする方法は? –
@ Shadow Wizard - デザインビューでフォームにドロップしました。フォームのInitializeComponent()は、ユーザーコントロールをインスタンス化します。 –
私はデザインビューがインスタンスを作成しないと信じています。確かに。エラーは実行時にも発生しますか? –