UWP:如何获取程序集中所有页面对象的列表和相应的TypeName

时间:2018-03-06 21:20:21

标签: c# uwp

在UWP中,如何在程序集中获取所有页面对象及其对应的字符串名称的列表。例如,如果我创建一个名为PagePage1Page2的{​​{1}},并使用XAML用控件填充这些页面,我该如何动态创建一个列表所有Page3个对象及其对应的字符串名称?

我有一些适用于WPF的代码,我想知道如何在UWP中做类似的事情:

Page

1 个答案:

答案 0 :(得分:1)

您可以搜索从Page派生的所有类型:

private IEnumerable<TypeInfo> GetAllPageTypes()
{
    var currentAssembly = this.GetType().GetTypeInfo().Assembly;
    var pageTypeInfo = typeof(Page).GetTypeInfo();
    return currentAssembly.DefinedTypes.Where(t => pageTypeInfo.IsAssignableFrom(t)).ToList();
}