我创建了一个自定义ComposablePartCatalog
,ComposablePartDefinition
和ComposablePart
.
这些都一起工作,以便在单独的 AppDomain 中创建组合部分。所有这些都在工作。问题是当一个包含导入的导出类型的实例(即一个具有导入属性的字段)被创建时,该字段没有被设置为预期的导入类型,即它为空。
当我不使用我的 customComposablePartDefinition
时,即让它做默认组合时,会创建导入,因此它与类型无关。所以它一定是我在我的自定义 Composable 类中缺少的东西。
我不是这方面的专家,我一直在网上搜索有关创建ComposablePart
满足导入的自定义的任何信息,但可以找到有关如何正确执行此操作的任何信息。
在我的 customComposablePart
中,我重写GetExportedValue
了 which 返回导出类型的实例,只要导出的类型不导入任何内容,它就可以正常工作。
我显然遗漏了一些重要的东西,但我找不到解释如何创建导入的文档。
在 中ComposablePart
,有SetImport
覆盖,但我应该如何在派生类中实现它?这是让我的导入工作的关键吗?GetExportedValue
或者当我实际创建导出类型的实例以使其“组合”其导入时,我是否需要做一些事情?