[英]How to get Type from TypeInfo in WinRT?
我希望按照慣例注冊所有用於序列化的視圖模型。
但是,以下代碼將無法編譯,因為foreach循環中的var viewmodel
的類型為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
。
那么如何從WinRT TypeInfo
獲取Type
?
TypeInfo
繼承自標准.NET庫中的Type
,但在可移植庫中,它聲明為:
public abstract class TypeInfo : MemberInfo, IReflectableType
函數AsType()
返回與傳統Type
最接近的東西
public virtual Type AsType()
返回與上面的TypeInfo
弱相關的Type
public abstract class Type
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.