ReflectionPermissionFlag Sabit listesi

Tanım

Dikkat

Code Access Security is not supported or honored by the runtime.

ve System.Reflection.Emit ad alanlarının System.Reflection izin verilen kullanımını belirtir.

Bu sabit listesi, üyeleri için bit düzeyinde karşılaştırmayı destekler.

public enum class ReflectionPermissionFlag
[System.Flags]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Serializable]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum ReflectionPermissionFlag
[<System.Flags>]
type ReflectionPermissionFlag = 
[<System.Flags>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReflectionPermissionFlag = 
[<System.Flags>]
[<System.Serializable>]
type ReflectionPermissionFlag = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermissionFlag = 
Public Enum ReflectionPermissionFlag
Devralma
ReflectionPermissionFlag
Öznitelikler

Alanlar

AllFlags 7

TypeInformation , MemberAccessve ReflectionEmit ayarlanır. AllFlags içermez RestrictedMemberAccess.

MemberAccess 2

İzin kümesine bakılmaksızın tüm üyeler üzerinde çağırma işlemlerine izin verilir. Bu bayrak ayarlanmadıysa, çağırma işlemlerine yalnızca görünür üyelerde izin verilir.

NoFlags 0

Türlerin ve üyelerin listelenmesine izin verilir. Görünür türlerde ve üyelerde çağırma işlemlerine izin verilir.

ReflectionEmit 4

Hata ayıklama simgelerini yaymaya izin verilir. .NET Framework 2.0 Service Pack 1'inden başlayarak bu bayrak artık kod yaymak için gerekli değildir.

RestrictedMemberAccess 8

Kısmen güvenilen kod için kısıtlı üye erişimi sağlanır. Kısmen güvenilen kod, abonelik dışı türlere ve üyelere erişebilir, ancak yalnızca kısmen güvenilen kodun izin kümesi, abonelik dışı türleri ve erişilen üyeleri içeren derlemenin izin kümesindeki tüm izinleri içeriyorsa. Bu bayrak .NET Framework 2.0 SP1'de yenidir.

TypeInformation 1

Bu bayrak kullanımdan kaldırıldı. Türleri ve üyeleri listelemek ve meta verilerini incelemek için hiçbir bayrak gerekli değildir. Bunun yerine NoFlags kullanın.

Örnekler

Aşağıdaki örnekte, kısıtlı üye erişimi gerçekleştirme hakkını temsil eden sınıfın ReflectionPermission yeni bir örneğini başlatmak için numaralandırmanın nasıl kullanılacağı ReflectionPermissionFlag gösterilmektedir. Bu örnek, sınıfı için ReflectionPermission sağlanan daha büyük bir örneğin bir parçasıdır.

RestrictedMemberAccess bayrağının İnternet koduyla nasıl kullanılacağını gösteren bir örnek için bkz. İzlenecek Yol: Kısmi Güven Senaryolarında Kod Yayma.

ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)

Açıklamalar

Dikkat

Kod Erişim Güvenliği (CAS), .NET Framework ve .NET'in tüm sürümlerinde kullanım dışı bırakılmıştır. .NET'in son sürümleri CAS ek açıklamalarını dikkate almaz ve CAS ile ilgili API'ler kullanılıyorsa hata üretir. Geliştiriciler, güvenlik görevlerini yerine getirmek için alternatif yöntemler aramalıdır.

Bu numaralandırma ve ReflectionPermissionAttribute sınıfları tarafından ReflectionPermission kullanılır. Hayır ReflectionPermission izni verilmiyorsa, tüm türlerde ve üyelerde yansımaya izin verilir, ancak çağırma işlemlerine yalnızca görünür türlerde ve üyelerde izin verilir. Daha fazla bilgi için bkz. Yansıma için Güvenlikle İlgili Dikkat Edilmesi Gerekenler.

Dikkat

ReflectionPermission Özel sınıf üyelerine erişim sağlayabildiği için, İnternet koduna diğer bayraklarla RestrictedMemberAccess değil yalnızca bayrakla vermenizi ReflectionPermission öneririz.

bayrağı RestrictedMemberAccess .NET Framework 2.0 SP1'de tanıtılır. Bu bayrağı kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Önemli

AllFlags bayrağını RestrictedMemberAccess içermez. Bu numaralandırmadaki tüm bayrakları içeren bir maske almak için ile RestrictedMemberAccessbirleşimini AllFlags kullanmanız gerekir.

.NET Framework 2.0 SP1'den başlayarak, ReflectionEmit hata ayıklama simgeleri yayılmadığı sürece kodu yaymak için bayrağı artık gerekli değildir. Bu özelliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

.NET Framework 2.0'dan başlayarak, bayrağın TypeInformation artık abonelik dışı türleri ve üyeleri yansıtması gerekmez; bayrak eski olarak işaretlendi.

Şunlara uygulanır

Ayrıca bkz.