Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

CA2126: Typlinkaufrufe erfordern Vererbungsanforderungen

TypeName

TypeLinkDemandsRequireInheritanceDemands

CheckId

CA2126

Kategorie

Microsoft.Security

Unterbrechende Änderung

Breaking

Ein öffentlicher unversiegelter Typ wird mittels eines Linkaufrufs geschützt und weist eine überschreibbare Methode auf, aber weder der Typ noch die Methode werden durch eine Vererbungsanforderung geschützt.

Für einen Linkaufruf, der für eine Methode oder den zugehörigen deklarierenden Typ durchgeführt wird, muss der unmittelbare Aufrufer der Methode über die angegebene Berechtigung verfügen. Für eine Vererbungsanforderung, die für eine Methode durchgeführt wird, muss eine überschreibende Methode die angegebene Berechtigung aufweisen. Für eine Vererbungsanforderung, die für einen Typ durchgeführt wird, muss eine Ableitungsklasse die angegebene Berechtigung aufweisen.

Um einen Verstoß gegen diese Regel zu beheben, schützen Sie den Typ oder die Methode mit einer Vererbungsanforderung, für die dieselbe Berechtigung erforderlich ist wie für den Linkaufruf.

Unterdrücken Sie keine Warnung dieser Regel.

Im folgenden Beispiel wird ein Typ veranschaulicht, der gegen die Regel verstößt.


using System;
using System.Security.Permissions;

namespace SecurityLibrary
{
   [EnvironmentPermission(SecurityAction.LinkDemand, Read = "PATH")]
   public class TypesWithLinkDemands
   {
      public virtual void UnsecuredMethod() {}

      [EnvironmentPermission(SecurityAction.InheritanceDemand, Read = "PATH")]
      public virtual void SecuredMethod() { }
   }
}


Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.