SearchResultCollection の値を列挙しようとしています。
すべて正常にコンパイルされますが、次の行で 0x8000500c エラーが発生します。
foreach (PropertyValueCollection e in de.Properties.Values)
{
sw.WriteLine(e.Value);
}
完全な方法は次のとおりです。
private static void GetValues()
{
var directoryEntry = new DirectoryEntry("LDAP://8.8.8.8:8888", "foo", "bar",
AuthenticationTypes.None);
var ds = new DirectorySearcher(directoryEntry);
var final = ds.FindAll();
var sw = new StreamWriter(@"C:\z\FooBar.txt");
var titlesDone = false;
foreach (var de in from SearchResult x in final select x.GetDirectoryEntry())
{
if (!titlesDone)
{
foreach (string d in de.Properties.PropertyNames)
{
sw.WriteLine(d);
titlesDone = true;
}
}
foreach (PropertyValueCollection e in de.Properties.Values)
{
//I get the error on the below line
sw.WriteLine(e.Value);
}
}
sw.Flush();
sw.Close();
}
これが機能しない理由を理解するのを手伝ってもらえますか?
ありがとう