ReflectionPermission Klass

Definition

Styr åtkomsten till icke-offentliga typer och medlemmar via API:erna System.Reflection . Styr vissa funktioner i API:erna System.Reflection.Emit .

public ref class ReflectionPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Serializable]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Serializable>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class ReflectionPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Arv
ReflectionPermission
Attribut
Implementeringar

Kommentarer

Caution

Code Access Security (CAS) har föråldrats i alla versioner av .NET Framework och .NET. De senaste versionerna av .NET följer inte CAS-anteckningar och skapar fel om CAS-relaterade API:er används. Utvecklare bör söka alternativa sätt att utföra säkerhetsuppgifter.

Utan ReflectionPermissionkan kod använda reflektion för att endast komma åt offentliga objektmedlemmar. Kod med ReflectionPermission och lämpliga ReflectionPermissionFlag flaggor kan komma åt objektens protected medlemmar och private .

Caution

Eftersom ReflectionPermission kan ge åtkomst till icke-offentliga typer och medlemmar rekommenderar vi att du inte beviljar ReflectionPermission internetkod, förutom med ReflectionPermissionFlag.RestrictedMemberAccess flaggan. RestrictedMemberAccess tillåter åtkomst till icke-offentliga medlemmar, med begränsningen att bidragsuppsättningen för icke-offentliga medlemmar måste vara lika med, eller en delmängd av, bidragsuppsättningen av koden som får åtkomst till icke-offentliga medlemmar.

Vissa funktioner i reflektion genererar, till exempel att avge felsökningssymboler, kräver ReflectionPermission med ReflectionPermissionFlag.ReflectionEmit flaggan.

Mer information finns i ReflectionPermissionFlag uppräkningen.

Konstruktorer

Name Description
ReflectionPermission(PermissionState)

Initierar en ny instans av ReflectionPermission klassen med antingen fullständigt begränsad eller obegränsad behörighet enligt vad som anges.

ReflectionPermission(ReflectionPermissionFlag)

Initierar en ny instans av ReflectionPermission klassen med den angivna åtkomsten.

Egenskaper

Name Description
Flags

Hämtar eller anger vilken typ av reflektion som tillåts för den aktuella behörigheten.

Metoder

Name Description
Assert()

Deklarerar att den anropande koden kan komma åt resursen som skyddas av ett behörighetskrav via koden som anropar den här metoden, även om anropare högre i stacken inte har beviljats behörighet att komma åt resursen. Att använda Assert() kan skapa säkerhetsproblem.

(Ärvd från CodeAccessPermission)
Copy()

Skapar och returnerar en identisk kopia av den aktuella behörigheten.

Demand()

Tvingar fram en SecurityException vid körning om alla anropare högre i anropsstacken inte har beviljats den behörighet som anges av den aktuella instansen.

(Ärvd från CodeAccessPermission)
Deny()
Föråldrad.

Hindrar anropare högre i anropsstacken från att använda koden som anropar den här metoden för att komma åt resursen som anges av den aktuella instansen.

(Ärvd från CodeAccessPermission)
Equals(Object)

Avgör om det angivna CodeAccessPermission objektet är lika med det aktuella CodeAccessPermission.

(Ärvd från CodeAccessPermission)
FromXml(SecurityElement)

Rekonstruerar en behörighet med ett angivet tillstånd från en XML-kodning.

GetHashCode()

Hämtar en hash-kod för objektet CodeAccessPermission som är lämpligt för användning i hash-algoritmer och datastrukturer, till exempel en hash-tabell.

(Ärvd från CodeAccessPermission)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
Intersect(IPermission)

Skapar och returnerar en behörighet som är skärningspunkten för den aktuella behörigheten och den angivna behörigheten.

IsSubsetOf(IPermission)

Avgör om den aktuella behörigheten är en delmängd av den angivna behörigheten.

IsUnrestricted()

Returnerar ett värde som anger om den aktuella behörigheten är obegränsad.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
PermitOnly()

Hindrar anropare högre i anropsstacken från att använda koden som anropar den här metoden för att komma åt alla resurser förutom den resurs som anges av den aktuella instansen.

(Ärvd från CodeAccessPermission)
ToString()

Skapar och returnerar en strängrepresentation av det aktuella behörighetsobjektet.

(Ärvd från CodeAccessPermission)
ToXml()

Skapar en XML-kodning av behörigheten och dess aktuella tillstånd.

Union(IPermission)

Skapar en behörighet som är en union av den aktuella behörigheten och den angivna behörigheten.

Gäller för

Se även