【发布时间】:2011-06-30 08:15:27
【问题描述】:
我正在尝试在我的应用程序中使用 MEF,但导入时遇到问题。
[Import (typeof(IUserServices ))]
public IUserServices UserService { get; private set; }
这不起作用,并且 UserService 始终为空。
但是在同一个类中使用 ImportContstructor 效果很好:
[ImportingConstructor ]
public MainWindowVM(
IUIVisualizerService uiVisualizer,
IViewAwareStatus viewAwareStatus,
IMessageBoxService messageBoxService,
IManager mwManager,
TagItemModel tagModel,
ILibraryModel documentModel,
ILibraryServices libraryServices,
ILogServices logServices ,
IUserServices userServices)
任何人都可以帮助我解决这个问题。我已经花了几个小时,但没有找到任何解决方案。谢谢!!!
【问题讨论】:
-
你能添加你的代码来演示你的容器创建,以及你是如何尝试满足导入的吗?
-
我正在使用 ChinchV2 和 MefedMVVM 来创建容器。这里提供导出的代码: [PartCreationPolicy(CreationPolicy.Shared)] [Export (typeof(IUserServices ))] public class TestUserServices:IUserServices { public void GetSettings(Action
callback) { var dPath = Path. GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase).Remove(0, 6);回调(新 HubSettings {DataPath = dPath},空); } } -
我最好的猜测是这是 MefedMVVM 的问题。你确定它应该支持属性导入吗?
-
MefedMVVM 基于 MEF。是否有任何理由或技术背景,不应该支持属性导入?