有没有人知道是否可以覆盖或扩展System.DirectoryServices.AccountManagement.GroupPrincipal对象上的Members.Add方法?
我想做这样的事情
public new void Add(Principal principal)
{
base.Add(principal);
LogFile.WriteLine("Added {0} to group", principal.Name);
}发布于 2013-01-14 05:44:57
这很棘手,因为您不是要覆盖GroupPrincipal上的方法,而是要覆盖GroupPrincipal内部的子对象,即表示成员的PrincipalCollection对象。
做你想做的事情的唯一方法是将Add方法作为一个普通的方法放在你的子对象上,就像这样:
public class EnhancedGroupPrincipal : Group Principal {
public void Add(Principal principal) {
//your code to add and log
}
}虽然您必须知道如何使用替代的Add方法,但您可能已经知道了,所以这是可以的。
发布于 2015-10-06 00:38:19
我能找出的最简单的方法是使用扩展方法
public static void Add(this GroupPrincipal group, Principal child)
{
group.Members.Add(child);
LogFile.WriteLine("Added {0} to group", child.Name);
//Do whatever else you have to do...
}https://stackoverflow.com/questions/14154406
复制相似问题