Alw*_*wyn 10 c# reflection windows-8 windows-runtime
我希望按照惯例注册所有用于序列化的视图模型.
但是,以下代码将无法编译,因为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);
}
}
Run Code Online (Sandbox Code Playgroud)
显然TypeInfo不会继承自Type:
public abstract class TypeInfo : MemberInfo, IReflectableType
Run Code Online (Sandbox Code Playgroud)
不同于完整功能版本,它继承自Type.
那么我如何Type从WinRT 获得TypeInfo?
Alw*_*wyn 17
TypeInfo继承自Type标准.NET库,但在可移植库中,它被声明为:
public abstract class TypeInfo : MemberInfo, IReflectableType
Run Code Online (Sandbox Code Playgroud)
该函数AsType()返回最接近传统的东西Type
public virtual Type AsType()
Run Code Online (Sandbox Code Playgroud)
返回与TypeInfo上述弱相关的Type
public abstract class Type
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2785 次 |
| 最近记录: |