Sie sind hier: Startseite
 Liste aller Codebeispiele

Liste der Unterobjekte eines Containers

Ein Beispiel zum Einsatz der Klasse System.DirectoryServices.DirectoryEntry aus der .NET-Klassenbibliothek.

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Die Bindung an Container-Objekte und der Zugriff auf deren Verzeichnisattribute erfolgt vollkommen identisch zum Zugriff auf Blatt-Objekte, also über die Klasse DirectoryEntry. Sollen die Unterobjekte des Containers aufgelistet werden, muss jedoch das Unterobjekt Children angesprochen werden, das ein DirectoryEntries-Objekt liefert.

Die Iteration durch ADSI-Container erfolgt in Visual Basic analog zur Iteration durch Collections mit der For Each-Schleife. Sie bindet eine Laufvariable vom Typ DirectoryEntry nacheinander an die Objekte im Container.

Programmcodebeispiele Visual Basic .NET (VB.NET)

' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Liste der Unterobjekte eines Containers
' (C) Holger@Schwichtenberg.de
' ============================
Sub ADSI_ContainerAuflisten(ByVal pfad As String)
Dim o As DirectoryEntry
Dim c As DirectoryEntries

out("# Auflisten des Containers: " & pfad)

' --- Zugriff auf IADs
o = New DirectoryEntry(pfad)
' --- Wechsel zu IADsContainer
c = o.Children
' --- Schleife über alle Containerelemente
For Each o In c
out(o.Name)
Next
End Sub

Programmcodebeispiele CSharp (C#)

using System;
using System.DirectoryServices;

namespace FCLBuch._SystemDirectoryServices {

public class ADSI_HelperMethods {
public static void ADSI_ContainerAuflisten(string pfad) {

// Liste der Unterobjekte eines Containers
FclOutput.PrintOut("# Auflisten des Containers: " + pfad);

// Zugriff auf IADs
DirectoryEntry o = new DirectoryEntry(pfad);
// Wechsel zu IADsContainer
DirectoryEntries c = o.Children;
// Schleife über alle Containerelemente
foreach ( DirectoryEntry de in c )
FclOutput.PrintOut(de.Name);
}
}
}

Querverweise

 Definition '.NET Framework Class Library'  Verfügbarkeit der Klasse 'System.DirectoryServices.DirectoryEntry'  Übersicht über den FCL-Namensraum 'System.DirectoryServices'  .NET & Visual Studio Community Portal