C#如何提取PropertyCollection中属性的值
本文关键字:PropertyCollection 属性 提取 何提取 | 更新日期: 2023-09-27 17:47:24
如何提取PropertyCollection中属性的值?
如果我深入查看下面一行中的"属性"是可视化研究,我可以看到它的值,但我该如何阅读它?
foreach (string propertyName in result.Properties.PropertyNames)
{
MessageBox.Show(ProperyNames[0].Value.ToString()); <--Wrong!
}
使用上面的一些提示,我使用下面的代码获得了所需的内容:
ResultPropertyValueCollection values = result.Properties[propertyName];
if (propertyName == "abctest")
{
MessageBox.Show(values[0].ToString());
}
谢谢大家。
试试这个:
foreach (string propertyName in result.Properties.PropertyNames)
{
MessageBox.Show(result.Properties[propertyName].ToString());
}
或者这个:
foreach (object prop in result.Properties)
{
MessageBox.Show(prop.ToString());
}
此外:框架中有几个不同的PropertyCollections类。这些示例基于System.Data类,但您可能也在使用System.DirectoryServices类。然而,这两个类都不是真正的"反思"。Reflection指的是不同的东西,即System.Reflection命名空间加上几个特殊的运算符。
这个属性名称是函数中的大写字母吗?
再读一遍,我不得不承认,我有点困惑于你对所有这些特性的追求。这是类属性值还是您要查找的实例?
For Each prop As String In result.Properties.PropertyNames
MessageBox.Show(result.Properties(prop).Item(0), result.Item(i).Properties(prt).Item(0))
Next
我觉得C#是这样的。。。
foreach (string property in result.Properties.PropertyNames)
{
MessageBox.Show(result.Properties[property].Item[0]);
}
如上所述,框架中有一些不同的属性集合。
我不确定你在要求什么,但我认为问题是你看到的是属性名称而不是它们的值?
如果是这样,原因是您正在枚举PropertyCollection.PropertyNames集合,而不是PropertyCollection.Values集合。试试这样的东西:
foreach (object value in result.Properties.Values)
{
MessageBox.Show(property.ToString());
}
我假设这个问题引用了System.DirectoryServices.PropertyCollection类,而不是System.Data.PropertyCllection,因为它引用了PropertyNames,但现在我不太确定了。如果问题是关于System.Data版本的,则忽略此答案
如果将值集合放在"If"中,则只会在实际需要时检索它,而不是每次通过循环。只是一个建议…:)
PropertyNames在其他地方不是大写的,下面的代码可以工作,并且会显示属性的名称,但我想读取值。'PropertyName"只是一个字符串。
foreach (string propertyName in result.Properties.PropertyNames)
{
MessageBox.Show(PropertyName.ToString());
}
尝试:
foreach (string propertyName in result.Properties.PropertyNames)
{ MessageBox.Show(properyName.ToString()); <--Wrong!
}