我正在使用反射来获取对象的所有属性。然后,我需要查看这些属性中的任何一个值是否是它们碰巧是任何类型的默认值。以下是我当前的代码。它抱怨找不到命名空间或类型。这让我相信它与 c# 如何进行隐式类型强制有关。由于我在运行时获取类型,因此它不知道如何比较它或者对此并不十分清楚。
我希望避免对传入类型的名称进行 switch case 比较,但现在这看起来是我唯一的选择,除非 StackOverflow 上的杰出人士可以引导我朝着正确的方向前进。
private bool testPropertyAttribute(PropertyInfo prop)
{
dynamic value = prop.GetValue(DataObject, null);
Type type = prop.PropertyType;
/* Test to see if the value is the defult of its type */
return (value == default(prop.PropertyType)
}