Я хочу расширить класс GroupPrincipal
для обработки некоторых пользовательских свойств:
using System.DirectoryServices.AccountManagement;
[DirectoryRdnPrefix("CN")]
[DirectoryObjectClass("group")]
public class MyGroupPrincipal : GroupPrincipal {
// ...
}
Как можно переопределить свойство Members
для MyGroupPrincipal
, чтобы при наличии члена, являющегося группой, возвращался экземпляр MyGroupPrincipal
, а не GroupPrincipal
? Я хотел бы написать, например,
MyGroupPrincipal group = GetGroup();
foreach (var m in group.Members) {
if (m is MyGroupPrincipal) { // always fails: m is a normal GroupPrincipal
// do something
}
}