注入
注入主要是为多个类调用同一个类中的方法,而被调用的类必须只创建一个对象,把这个创建的对象同时注入需要调用此对象的各个类,这样就实现了其他不同的类访问了同一个类的方法。例如:
public partial class MainForm { private DALSACamera _camera; private IOControl _iOControl; private IOConfig _iOConfig; private TriggerModeCB _frmConfigOne; public MainForm() { InitializeComponent(); _mainForm = this; _camera = new DALSACamera();//要被注入的类 _iOControl = new IOControl(); _iOConfig = new IOConfig(); } private void menu_btn_config1_ItemClick(object sender, ItemClickEventArgs e) { XtraMdiTabPage tabPage = GetTabPage(s_configone); if (tabPage != null) { xtraTabbedMdiManager1.SelectedPage = tabPage; _frmConfigOne.Show(); } else { _frmConfigOne = new TriggerModeCB(); //需要注入的类 _frmConfigOne.MdiParent = this; _frmConfigOne.Show(); } _frmConfigOne.set(_camera);//把_camera注入 } }
需要注入及被注入的类都需要先创建个对象
下面为需要注入类中的注入方法
public partial class TriggerModeCB : Form { DALSACamera _dALSACamera; private void WAConfigOne_Load(object sender, EventArgs e) { //_main = this.ParentForm as MainForm; } public TriggerModeCB() { InitializeComponent(); } public void set(DALSACamera a) //注入方法 { _dALSACamera = a; } }
下面就可以通过_dALSACamera来调用DALSACamera类中的方法
开心是个奢饰的东西

浙公网安备 33010602011771号