2

そのため、Get メソッドまたは Set メソッドが使用されるたびに、その中に GetProperty または SetProperty も存在することを保証するカスタム Fxcop ルールを作成しています。どうすればこれをテストできるでしょうか。

例:

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