所以我正在编写一个自定义的 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;
}
}