0

我有一个小问题。在我看来,模型参数化构造函数不起作用。在调试时,我观察到默认构造函数被命中,但它从未触发我的参数化构造函数。我怎样才能让我的参数化构造函数工作?

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

    public EmployeeRequestViewModel()
    {
        LoadEmpRequest();

    }
4

2 回答 2

1

如果您没有使用参数化构造函数的代码,它当然不会被命中。或者,如果执行的代码从未自行执行。

于 2012-04-12T23:26:19.583 回答
0

因为您正在传递一个事件聚合器,所以我假设您正在使用 Prism。

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

于 2012-04-13T00:28:11.617 回答