C#コーディング標準の一種の基礎として、C#プロジェクトでfxCopを使用しようとしています。
私が使用しているプロジェクトは S#arp Architecture と呼ばれ、ここから自由に入手できます: S#Arp Arch
ここで fxCop を実行すると (ほとんどのことは既に修正されています)、コンストラクターのオーバーライド可能なメソッドの CA2214 fxcop エラーを修正する必要があります。
現時点で、違反しているコードの一部は次のようになります。
public class Region : Entity, IHasAssignedId<int>
{
public Region(string description)
{
Check.Require(!string.IsNullOrEmpty(description));
this.Description = description;
}
protected Region()
{
}
[DomainSignature]
> public virtual string Description { get; protected set; }
public virtual void SetAssignedIdTo(int assignedId)
{
Id = assignedId;
}
}
そのほとんどは、他の cd ファイルで次のように呼び出されます。
public static RegionDto Create(Region region)
{
if (region == null)
{
return null;
}
return new RegionDto()
{
Id = region.Id,
> Description = region.Description
};
}
メソッドのタイプ (private/protected など) を変更しようとしましたが、fxCop と単体テストのニーズが競合することがよくあります。保護された内部仮想、少し 22 をキャッチしますか?
したがって、この fxcop ルールを修正するための助けをいただければ幸いです。
(エラーは、仮想の get set メソッドである > でマークされた行で発生し、他の > を変更すると、不平を言う場所です)