そのため、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;
}
}