System.DirectoryServices.AccountManagement
.NET の名前空間を使用して Active Directory の作業を行っています。その名前空間のすべてが を継承するため、それはある種の頭痛の種を引き起こすことに気付きPrincipal
ました。IDisposable
Principal
たとえば、グループ内のすべてのユーザーを取得するには、次のコードを検討してください。
PrincipalContext domain = new PrincipalContext(ContextType.Domain);
GroupPrincipal group = GroupPrincipal.FindByIdentity(domain, "MyGroup");
PrincipalSearchResult<Principal> users = group.GetMembers();
IDisposable
検索によって返されたすべてのユーザーと検索結果セット自体を含め、そのスニペットのすべてのタイプが を実装します。
domain
andオブジェクトを破棄するgroup
ことは大したことではありません (using()
ブロックを使えば簡単です) が、すべての結果についてはどうすればよいでしょうか? users
そのコレクションをループして、すべてを破棄する必要がありますか?