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