-1
我已經在C#類型轉換和typeof運算
private IDictionary<ViewModelBase, Type> _routingDictionary;
下面的聲明用下面的方法
public void Navigate<TDestinationViewModel>() where TDestinationViewModel : ViewModelBase
{
//I want to use something like
var des = _routingDictionary[typeof(TDestinationViewModel)]
}
但是,這並不工作,我得到一個編譯錯誤
無法從'System.Type'轉換爲 'GalaSoft.MvvmLight.ViewModelBase'
我可以通過以下
public void Navigate<TDestinationViewModel>() where TDestinationViewModel : ViewModelBase, new()
{
TDestinationViewModel des = new TDestinationViewModel();
Type destination = _routingDictionary[des];
}
但是istn't有沒有更好的辦法做到這一點解決這個問題?
你想完成什麼? – Maarten 2014-10-17 10:41:21
你想做什麼?你定義了一個ViewModelBase類型的鍵,然後嘗試用類型爲Type的鍵來讀取? – 2014-10-17 10:41:32