Я хочу зарегистрировать все мои модели просмотра для сериализации по соглашению.
Однако следующий код не будет компилироваться, потому что var viewmodel
в цикле foreach имеет тип TypeInfo
:
protected override void OnRegisterKnownTypesForSerialization()
{
var viewModels = this.GetType().GetTypeInfo().Assembly.DefinedTypes
.Where(t => _viewModelNameRegex.IsMatch(t.FullName))
.ToList();
foreach (var viewmodel in viewModels)
{
SessionStateService.RegisterKnownType(viewmodel);
}
}
По-видимому, TypeInfo
не наследует от Type
:
public abstract class TypeInfo : MemberInfo, IReflectableType
В отличие от полнофункциональной версии которая наследует от Type
.
Итак, как я могу добраться до Type
из WinRT TypeInfo
?