У меня есть следующий класс:
public abstract class ViewModel<TNavigationData> : BindableBase
where TNavigationData : class, new()
{
//....
}
public class SomeClass()
{
public SomeClass()
{
}
}
Где-то в коде я пытаюсь привести данную модель представления как объект к конкретному универсальному типу. Вот что я делаю:
protected virtual async Task NavigateImplAsync<TData>(IView view, TData navigationData)
where TData : class, new()
{
object viewModelAsObject = GetFromSomewhere() //this is ViewModel<SomeClass>
//typeof(TData) = SomeClass
var t4 = viewModelAsObject as ViewModel<TData>;
//this cast returns null however TData
}
Почему я не могу привести это в ViewModel, если переменная viewModelAsObject является этим классом, а TData имеет тип SomeClass?