2012-04-12 72 views
0

我有一个小问题。 在我看来模型参数化的构造函数不起作用。在调试时我观察到默认的构造函数被击中,但它从来没有触发我的参数化构造函数。 我如何让我的参数化构造函数工作?参数化构造函数在视图模型不起作用

public EmployeeRequestViewModel(IEventAggregator eventAggregator, IContextManager contextmanager):this() 
    { 
     _contextmanager = contextmanager; 
     _eventAgg = eventAggregator; 
     _eventAgg.GetEvent<EmployeeEvent>().Subscribe(EventTask); 
    } 

    public EmployeeRequestViewModel() 
    { 
     LoadEmpRequest(); 

    } 
+1

你的框架应该调用这样一个构造函数,或者你的调用代码在哪里? – 2012-04-12 23:30:19

回答

1

如果你没有使用参数化构造函数的代码,它当然不会被击中。或者,如果其中的代码永远不会执行。

0

因为你传递了一个事件聚合器,所以我会假定你正在使用Prism。

棱镜的团结是贪婪的。解决依赖关系时,Unity会找到它可以解析的最大构造函数,然后使用它创建对象。如果您只使用默认构造函数,那么我会检查您是否在UnityContainer中注册了IContextManager类型。

相关问题