何时满足属性导入
本文关键字:导入 属性 满足 何时 | 更新日期: 2023-09-27 18:27:25
什么时候满足属性导入?我认为它们会在构造函数之前得到满足,因为属性是在构造函数运行之前初始化的,但下面的示例显示ImportedClass
在构造函数中为null。
我知道我可以通过使用ImportingConstructor来解决这个问题;这是为了理解何时满足房地产进口。
public MyClass
{
[Import]
public ImportedClass ImportedClass {get;set;}
public MyClass()
{
//Imported Class is null at this point, so nothing can be done with it here.
}
}
在调用对象的构造函数之前,不能对其进行操作。不过,MEF为您的问题提供了一个解决方案,它有一个名为IPartImportsSompatiedNotification的接口
public MyClass : IPartImportsSatisfiedNotification
{
[Import]
public ImportedClass ImportedClass {get;set;}
public MyClass()
{
//Imported Class is null at this point, so nothing can be done with it here.
}
public void OnImportsSatisfied()
{
//ImportedClass is set at this point.
}
}
关于MEF为设置导入而采取的操作;它首先调用构造函数,然后设置任何属性,然后调用通知方法。