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