I have the following C# code:
public interface IViewModel {
PageData Page { get; set; }
}
public class PageData { }
public class ViewModel<T> : IViewModel {
public PageData PageData { get; set; }
public T ViewData { get; set; }
public ViewModel(T viewData, PageData pageData) {
PageData = pageData;
ViewData = viewData;
}
}
Then I use it as follows:
PageData pd = new PageData();
ViewData vd = new ViewData();
ViewModel<MyViewData> model = new ViewModel<MyViewData>(vd, pd);
Is it possible to change my code so I can use it as:
IViewModel model = new ViewModel(vd, pd);
Basically ViewModel would take the type of vd.