2

所以我正在编写一个自定义的 Fxcop 规则,以确保每当使用 Get 或 Set 方法时,其中还有一个 GetProperty 或 SetProperty。我怎么能测试这个。

例子:

public double Seconds
{
   get { return this.GetProperty(() => this.Seconds); }
   set { this.SetProperty(() => this. Seconds, value); }
}

而不是这样:

public double Seconds
{
    get { return Seconds; }
    set { Seconds = value; }
}

到目前为止,我可以使用此代码找到 get 或 set 的每个实例。如果确实有 GetProperty 或 SetProperty,我只需要帮助。

    public override ProblemCollection Check( Member member )
    {
        ProblemCollection Problems = this.Problems;

        var method = member as Method;

        if ( method != null )
        {
            if ( method.Name.Name.Contains( "get_" ) || method.Name.Name.Contains( "set_" ) )
            {
                Resolution resolu = GetResolution( new[] { member.ToString() } );
                Problems.Add( new Problem( resolu ) );
                return Problems;
            }
        }
        return null;
    }
}
4

0 回答 0