Ho il codice seguente:Code Analysis Warning 2214 - Come si può risolvere il problema?
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;
}
}
Questo sta generando un avvertimento CA2214. I parametri del metodo BusinessEntityType
e AuditLogCommand
sono entrambi enumerazioni. Non vedo quale sia il problema qui, e quindi non sono sicuro di come soddisfare l'avvertimento.
Grazie.
Come risulta la linea "this.Entity" ha un setter che chiama un metodo virtuale. Immagino che fosse il problema. –
Sì, l'avviso si attiva se l'analizzatore statico può vedere che ogni metodo virtuale viene chiamato durante il ctor. – driis