Я хочу зарегистрировать все мои модели просмотра для сериализации по соглашению.
Однако следующий код не будет компилироваться, потому что 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?