1

我已经几乎所有我拥有可覆盖方法并设法修复它们的区域上使用了该方法,但是有一部分方法在不同的上下文代码中以相同的方式工作:

    public Employee()
    {
        this.InitMembers();
    }

    private void InitMembers()
    {
        // Init the collection so it's never null
        this.Territories = new List<Territory>();
    }
    public Employee(string firstName, string lastName): this()
    {
        this.reffirstName = firstName;
        this.reflastName = lastName;
    }
>   public virtual IList<Territory> Territories { get; protected set; }

>再次是导致错误的代码,但是我确实获得了“转换为自动属性”的智能感知选项,它只是将代码恢复到启动时而不是解决问题。任何人都知道需要对这部分进行哪些修改以消除 fxcop 违规?

4

1 回答 1

0

出现错误是因为您的私有构造函数正在调用可以从派生类覆盖的方法。要修复警告,您需要从构造函数中删除对虚拟方法的任何调用。

在您列出的示例中,InitMembers 使用“this.Territories”,这导致了违规。根据您后来的评论,您添加了一个私人成员 - 改用它。

于 2009-09-13T16:38:42.283 回答