[英]objects being null even after calling SatisfyImportOnce - MEF
在我的程序中,我在program.cs中使用以下語句
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var init = new Initializer();
var container = new CompositionContainer(new DirectoryCatalog(Environment.CurrentDirectory));
container.ComposeExportedValue(string.Empty);
container.SatisfyImportsOnce(init);
if (init.PreleminaryCheck())
{
Form1 frm = new Form1();
container.SatisfyImportsOnce(frm);
Application.Run(frm);
}
我正在出口像下面這樣的課程
[Export(typeof(DatabaseMaster))]
public class DBManager : DatabaseMaster
[ImportingConstructor]
public DBManager(string filepath = "")
{
DbPath = filepath;
}
問題是我只能在Initializer類中初始化變量,在表單類中,DBManager的實例始終為null。 我嘗試在Form1變量上調用SatisfyImportOnce,但是沒有運氣。
我通過將成員函數調用從構造函數移到form load方法來解決了這個問題,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.