如何在C#中获取对象的所有简单属性

eye*_*aul 2 .net c# reflection

我想知道如何获得所有类型的对象,而不是指向另一个类.

例如,这将包括string,int,datetime等,但不包括指向集合或其他自定义类的指针

我有以下内容,但它似乎没有返回字符串:

PropertyInfo[] properties = typeOfObject.GetProperties();

foreach (PropertyInfo property in properties.Where(p => !p.PropertyType.IsClass))
{
}
Run Code Online (Sandbox Code Playgroud)

正如Leri所要求的那样 - 我计划采用一个对象的原始副本,没有集合/类等.因此它必须包含所有原始类型,字符串,日期时间和其他任何存在的类型.

Jam*_*iec 7

因为String是一类,而不是像一个结构Int32Double

如果你想要的不是一个类,而是包括字符串,只需指定它!

foreach (PropertyInfo property in 
         properties.Where(p => !p.PropertyType.IsClass 
                                  || p.PropertyType == typeof(String)))
{
}
Run Code Online (Sandbox Code Playgroud)