0

Type.IsValueType我想要一个返回 true的所有内置 .NET Framework 类型的列表。有没有一种方法可以生成该列表(即有没有一种方法可以从.NET 本身中获取所有内置类型的列表)?

我正在编写一些代码,我试图确定我是否已通过某种 POCO 或匿名类型,我将查看对象的属性,或者我是否已获得一个值(或 value- like) 类型,我将直接使用它的值。我已经知道我需要检查对象是否是类型String,因为我想使用它的值而不是查看它的属性。我想确保没有任何其他我需要担心的例外情况。

4

1 回答 1

1

不确定它是否真的有意义,但您可以从所有与您的用例相关的程序集中枚举值类型,例如

  // do this for all assemblies you care about
  Assembly assembly = ... // e.g. Assembly.LoadFrom(info.FullName);
  foreach (var type in assembly.GetTypes())
  {
    if(type.IsValueType)
    {
      ... // whatever
    }                    
  }

这实际上取决于您认为的“内置 .NET Framework 类型”。例如,来自 WPF 或 ASP.NET MVC 的类型是否内置?但是,您的用例对我来说似乎很奇怪,我不确定我是否理解您想要实现的目标

于 2013-05-03T14:04:59.663 回答