我试图在ToString()
内覆盖GroupPrincipal
类的System.DirectoryServices.AccountManagement
函数,而不必创建子类。我觉得我以前做过非常相似的事情,但似乎无法记住。
我试过这个作为测试,但似乎覆盖整个班级
public class GroupPrincipal
{
public override string ToString()
{
return base.ToString();
}
}
由于
答案 0 :(得分:1)
如果我理解正确你想要改变现有类的方法而不继承它。这是不可能的(至少没有反思)。
创建子类是执行此操作的正确方法。
答案 1 :(得分:-2)
此处您尚未指定班级的基础。因此,它仅来自默认值object
。
尝试:
public class GroupPrincipal : AccountManagement
{
// Method overrides here...
}
当然,从某种意义上说,它会覆盖整个班级。"但是由于OOP的奇迹,子类继承了它的行为,直到你自己开始覆盖成员。这样做的开销很小。
如果AccountManagement
类具有非默认构造函数,则可能还需要向类中添加相应的构造函数。这些可能会传递给基类型中的对应物。例如,您可能有:
public GroupPrincipal(string name)
: base(name)
{
}