gpt4 book ai didi

c# - 如何从 WinRT 中的 TypeInfo 获取类型?

转载 作者:可可西里 更新时间:2023-11-01 09:01:13 25 4
gpt4 key购买 nike

按照惯例,我想注册我所有的 View 模型以进行序列化。

但是下面的代码将无法编译,因为 foreach 循环中的 var viewmodelTypeInfo 类型:

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

不同于 full featured version ,它继承自 Type

那么如何从 WinRT TypeInfo 获取 Type

最佳答案

TypeInfo 在标准 .NET 库中继承自 Type,但在可移植库中声明为:

public abstract class TypeInfo : MemberInfo, IReflectableType

函数 AsType() 返回最接近传统 Type 的东西

public virtual Type AsType()

返回与上面的 TypeInfo 弱相关的 Type

public abstract class Type

关于c# - 如何从 WinRT 中的 TypeInfo 获取类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17985100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com