CA2136: Los miembros no deben tener anotaciones de transparencia en conflicto
Elemento | Valor |
---|---|
RuleId | CA2136 |
Category | Microsoft.Security |
Cambio importante | Problemático |
Causa
Esta regla se activa cuando un miembro de tipo está marcado con un atributo de seguridad System.Security que tiene una transparencia diferente al atributo de seguridad de un contenedor del miembro.
Nota
Esta regla está en desuso. Para más información, consulte Reglas en desuso.
Descripción de la regla
Los atributos de transparencia se aplican de los elementos de código de ámbito mayor a los elementos de ámbito menor. Los atributos de transparencia de los elementos de código con mayor ámbito tienen prioridad sobre los atributos de transparencia de los elementos de código incluidos en el primer elemento. Por ejemplo, una clase marcada con el atributo SecurityCriticalAttribute no puede contener un método marcado con el atributo SecuritySafeCriticalAttribute.
Cómo corregir infracciones
Para corregir esta infracción, quite el atributo de seguridad del elemento de código que tiene un ámbito inferior o cambie su atributo para que sea el mismo que el elemento de código que lo contiene.
Cuándo suprimir las advertencias
No suprima las advertencias de esta regla.
Ejemplo
En el ejemplo siguiente, un método se marca con el atributo SecuritySafeCriticalAttribute y es miembro de una clase marcada con el atributo SecurityCriticalAttribute. Se debe quitar el atributo de seguridad.
using System;
using System.Security;
namespace TransparencyWarningsDemo
{
[SecurityCritical]
public class CriticalClass
{
// CA2136 violation - this method is not really safe critical, since the larger scoped type annotation
// has precidence over the smaller scoped method annotation. This can be fixed by removing the
// SecuritySafeCritical attribute on this method
[SecuritySafeCritical]
public void SafeCriticalMethod()
{
}
}
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de