DetectingProto-OrganismswithReflection我正在使用基于反射的对象转换器。它基本上遍历对象的属性,并将值分配给翻译对象上具有相同名称/类型的属性。ObjectA.Name="Joe"转换为:ObjectB.Name="Joe"我需要设置一个特殊情况,因为当属性是自定义类时,例如:ObjectA.Address我希望我可以用PropertyType的IsClass标志检测这些属性propInfo.PropertyType.IsClass但是这个标志似乎也为字符串属性返回true。还有另一种方法可以验证该属性是非本地类型吗?我假设您想确定目标类型是否是主要类型。您可以使用TypeCode,例如:publicboolIsNotCoreType(Typetype){return(type!=typeof(object)&&Type.GetTypeCode(type)==TypeCode.Object);}任何非原始类型都应该将TypeCode.Object作为Type.GetTypeCode返回,这样我们就可以检查我们是否得到它并且类型本身不是System.Object。也许这会有所帮助?更新:我已将该方法重命名为IsNotCoreType以涵盖原语和非原语,如String、DateTime等(请参阅下面的注释)。一个例外是字符串,它是.NET中唯一的原始类型,它是引用类型。您必须在代码中考虑此异常,以便检查IsClass是否为真以及类型是否与System.String相同。以上就是C#学习教程:利用反射检测原生物分享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
