如何检查属性是否存在

时间:2014-04-15 06:41:35

标签: c#

我试图从DirectoryEntry读取属性。 不幸的是,并非所有记录都具有employeeNumber属性,因此我需要检查它是否存在。 我已经尝试过了:

a == one DirectoryEntry record
a.GetType().GetProperty("employeeNumber")==null //always returns true
String.IsNullOrWhiteSpace(a.Properties["employeeNumber"].ToString()) //exception

我还能尝试什么?

2 个答案:

答案 0 :(得分:6)

您可以尝试这样:

OBJECT.GetType().GetProperty("PROPERTY") != null

所以在你的代码中它就像是:

var a = one DirectoryEntry record;
var pi = a.GetType().GetProperty("employeeNumber");
var value = pi.GetValue(a, null);

修改: -

试试这个:

bool x = a.Properties.Contains("employeeNumber");

答案 1 :(得分:1)

这样的事情:

a.Properties["employeeNumber"] == null || a.Properties["employeeNumber"].ToString().Length == 0

在您的情况下,a.Properties["employeeNumber"]可以是null,并且您会遇到异常,尝试将null转换为字符串。