我试图从DirectoryEntry
读取属性。
不幸的是,并非所有记录都具有employeeNumber
属性,因此我需要检查它是否存在。
我已经尝试过了:
a == one DirectoryEntry record
a.GetType().GetProperty("employeeNumber")==null //always returns true
String.IsNullOrWhiteSpace(a.Properties["employeeNumber"].ToString()) //exception
我还能尝试什么?
答案 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
转换为字符串。