我已经定义了一个将存储库实例作为唯一构造函数参数的类。现在我创建了该类的静态实例,MainViewModel
需要指定构造函数参数。
问题:
为了指定必需的参数,我在MainVM类的静态实例中按预期添加了IRepository参数。
这没有按预期工作,因为编译器因此而抛出以下错误:
Using the generic type 'ParkingTagPicker.DAL.IRepository<T>' requires 1 type arguments
ParkingTagPicker.Models.Zone' is a 'type' but is used like a 'variable'
The name 'zoneDataService' does not exist in the current context
从查看错误看,IRepository似乎提供了正确的Zone
类型。
有没有人知道在这种情况下如何正确定义构造函数args?
MainViewModel:
//IRepository instance with Zone type arg
//(Zone is a model class)
private IRepository<Zone> _zoneDataService;
public MainViewModel(IRepository<Zone> zoneDataService)
{
this._zoneDataService = zoneDataService;
}
App.xaml.cs:
/// <summary>
/// A static ViewModel used by the views to bind against.
/// </summary>
/// <returns>The MainViewModel object.</returns>
public static MainViewModel ViewModel
{
get
{
// Delay creation of the view model until necessary
if (viewModel == null)
viewModel = new MainViewModel(IRepository<Zone> zoneDataService);
return viewModel;
}
}