Qualcuno può fornire un esempio su come eseguire il ciclo di un System.DirectoryServices.PropertyCollection e produrre il nome e il valore della proprietà?Come effettuare il looping di una proprietà?
Sto usando C#.
@JaredPar - PropertyCollection non ha una proprietà Nome/Valore. Ha un PropertyNames e valori, digitare System.Collection.ICollection. Non conosco il tipo di oggetto di base che costituisce l'oggetto PropertyCollection.
@JaredPar di nuovo - In origine avevo erroneamente etichettato la domanda con il tipo sbagliato. Quello era il mio cattivo.
Aggiornamento: Sulla base di input Zhaph - Ben Duguid, sono stato in grado di sviluppare il seguente codice.
using System.Collections;
using System.DirectoryServices;
public void DisplayValue(DirectoryEntry de)
{
if(de.Children != null)
{
foreach(DirectoryEntry child in de.Children)
{
PropertyCollection pc = child.Properties;
IDictionaryEnumerator ide = pc.GetEnumerator();
ide.Reset();
while(ide.MoveNext())
{
PropertyValueCollection pvc = ide.Entry.Value as PropertyValueCollection;
Console.WriteLine(string.Format("Name: {0}", ide.Entry.Key.ToString()));
Console.WriteLine(string.Format("Value: {0}", pvc.Value));
}
}
}
}
È meglio usare la conversione implicita in un ciclo foreach. –