DynamicMethod.IsSecuritySafeCritical Özellik

Tanım

Geçerli dinamik yöntemin geçerli güven düzeyinde güvenlik açısından güvenli-kritik olup olmadığını belirten bir değer alır; yani, kritik işlemler gerçekleştirip gerçekleştiremeyeceği ve saydam kod tarafından erişilip erişilemeyeceği.

public:
 virtual property bool IsSecuritySafeCritical { bool get(); };
public override bool IsSecuritySafeCritical { get; }
member this.IsSecuritySafeCritical : bool
Public Overrides ReadOnly Property IsSecuritySafeCritical As Boolean

Özellik Değeri

true dinamik yöntem geçerli güven düzeyinde güvenlik açısından güvenli-kritikse; false güvenlik açısından kritik veya saydamsa.

Özel durumlar

Dinamik yöntemin bir yöntem gövdesi yoktur.

Açıklamalar

IsSecurityCritical, IsSecuritySafeCriticalve IsSecurityTransparent özellikleri, ortak dil çalışma zamanı (CLR) tarafından belirlenen dinamik yöntemin saydamlık düzeyini bildirir. Bu özelliklerin birleşimleri aşağıdaki tabloda gösterilmiştir:

Güvenlik düzeyi IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
Kritik true false false
Güvenli kritik true true false
Geçirgen false false true

Bu özelliklerin kullanılması, derlemenin ve türlerinin güvenlik ek açıklamalarını incelemekten, geçerli güven düzeyini denetlemekten ve çalışma zamanının kurallarını yinelemeye çalışmaktan çok daha basittir.

Dinamik bir yöntemin saydamlığı, ilişkili olduğu modüle bağlıdır. Dinamik yöntem modül yerine bir türle ilişkiliyse, saydamlığı türü içeren modüle bağlıdır. Dinamik yöntemler güvenlik ek açıklamalarına sahip olmadığından, bunlara ilişkili modül için varsayılan saydamlık atanır.

  • Anonim olarak barındırılan dinamik yöntemler her zaman saydamdır çünkü bunları içeren sistem tarafından sağlanan modül saydamdır.

  • Güvenilir bir derlemeyle ilişkili dinamik yöntemin saydamlığı (genel derleme önbelleğine yüklenen tanımlayıcı adlı bir derleme) aşağıdaki tabloda açıklanmıştır.

    Derleme ek açıklaması Düzey 1 saydamlığı Düzey 2 saydamlığı
    Tamamen saydam Geçirgen Geçirgen
    Tamamen kritik Kritik Kritik
    Karma saydamlık Geçirgen Geçirgen
    Güvenlik belirsiz Güvenli kritik Kritik

    Örneğin, bir dinamik yöntemi düzey 2 karma saydamlığa sahip mscorlib.dll bir türle ilişkilendirirseniz, dinamik yöntem saydamdır ve kritik kodu yürütemez. Saydamlık düzeyleri hakkında bilgi için bkz . Saydam Güvenlik Kodu, Düzey 1 ve Güvenlik-Saydam Kod, Düzey 2.

    Not

    System.dll gibi güvenlik belirsizliği olan güvenilir düzey 1 derlemesindeki bir modülle dinamik yöntemi ilişkilendirmek güvenin yükseltilmesine izin vermez. Dinamik yöntemi çağıran kodun izin kümesi System.dll izin kümesini (tam güven) SecurityException içermiyorsa, dinamik yöntem çağrıldığında oluşturulur.

  • Kısmen güvenilen bir derlemeyle ilişkili dinamik yöntemin saydamlığı, derlemenin nasıl yüklendiğine bağlıdır. Derleme kısmi güvenle yüklenirse (örneğin, korumalı bir uygulama etki alanına), çalışma zamanı derlemenin güvenlik ek açıklamalarını yoksayar. Derleme ve dinamik yöntemler de dahil olmak üzere tüm türleri ve üyeleri saydam olarak kabul edilir. Çalışma zamanı, yalnızca kısmi güven derlemesi tam güven ile yüklendiğinde (örneğin, bir masaüstü uygulamasının varsayılan uygulama etki alanına) güvenlik ek açıklamalarına dikkat eder. Bu durumda, çalışma zamanı dinamik yönteme derlemenin ek açıklamalarına göre yöntemler için varsayılan saydamlığı atar.

Yansıma yayma ve saydamlık hakkında daha fazla bilgi için bkz. Yansıma Yayma'da Güvenlik Sorunları. Saydamlık hakkında bilgi için bkz . Güvenlik Değişiklikleri.

Şunlara uygulanır

Ayrıca bkz.