按照惯例,我想注册我所有的视图模型以进行序列化。
但是,以下代码将无法编译,因为viewmodelforeach 循环中的 var 类型为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呢?