gpt4 book ai didi

c# - 什么时候可以满足特性进口?

转载 作者:太空狗 更新时间:2023-10-30 00:53:03 26 4
gpt4 key购买 nike

属性(property)进口什么时候满足?我认为它们会在构造函数之前得到满足,因为属性在构造函数运行之前被初始化,但下面的示例显示 ImportedClass 在构造函数中为 null。

我知道我可以通过使用 ImportingConstuctor 来解决这个问题;这是为了理解何时满足属性导入。

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 为您的问题提供了一个解决方案,带有一个名为 IPartImportsSatisfiedNotification 的接口(interface)

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 为设置您的导入而采取的操作;它首先调用构造函数,然后设置任何属性,然后调用通知方法。

关于c# - 什么时候可以满足特性进口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18208476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com