8
我有以下代碼:代碼分析警告2214 - 如何解決問題?
public partial class AuditLog : IBusinessEntity
{
public BusinessEntityType EntityType { get { return BusinessEntityType.AuditLog; } }
/// <summary>
/// Constructor accepting parameter initialization arguments
/// </summary>
/// <param name="userName"></param>
/// <param name="entity"></param>
/// <param name="command"></param>
/// <param name="commandText"></param>
public AuditLog(string userName, BusinessEntityType entity, AuditLogCommand command, string commandText)
{
this.Timestamp = DateTime.Now;
this.UserName = userName;
this.Entity = entity.ToString();
this.Command = command.ToString();
this.CommandText = commandText;
}
}
這產生CA2214警告。 BusinessEntityType
和AuditLogCommand
方法參數都是枚舉。我不知道這裏有什麼問題,因此我不確定如何滿足警告。
謝謝。
事實證明'this.Entity'這一行有一個調用虛擬方法的setter。我想這是問題。 – 2010-10-18 21:08:51
是的,如果靜態分析儀可以看到在ctor期間調用任何虛擬方法,則警告將觸發。 – driis 2010-10-19 07:08:58