Aracılığıyla paylaş


TypeBuilder.IsSecurityCritical Özellik

Tanım

Geçerli türün güvenlik açısından kritik mi yoksa güvenlik açısından güvenli mi olduğunu belirten bir değer alır ve bu nedenle kritik işlemler gerçekleştirebilir.

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

Özellik Değeri

true geçerli tür güvenlik açısından kritikse veya güvenlik açısından güvenli-kritikse; false saydamsa.

Özel durumlar

Geçerli dinamik tür yöntemi çağrılarak CreateType() oluşturulmadı.

Açıklamalar

IsSecurityCritical, IsSecuritySafeCriticalve IsSecurityTransparent özellikleri, ortak dil çalışma zamanı (CLR) tarafından belirlenen tür 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ı çoğaltmaya çalışmaktan çok daha basittir.

Çalışma zamanı, derlemedeki saydamlık düzeylerini değerlendirmeye başlar. Örneğin, dinamik derleme güvenlik açısından kritikse, türlerdeki ek açıklamalar yoksayılır ve tüm türler güvenlik açısından kritiktir.

Varsayılan olarak, dinamik derleme bunu yayan derlemenin saydamlığını devralır. , AppDomain.DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Boolean, IEnumerable<CustomAttributeBuilder>)veya AppDomain.DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean, IEnumerable<CustomAttributeBuilder>) yöntemi aşırı yüklemesini AppDomain.DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>)kullanarak ve güvenlik özniteliklerini belirterek bu varsayılanı geçersiz kılabilirsiniz. Bunu yaparak güvenlik düzeylerini yükseltemezsiniz; diğer bir ifadeyle saydam kod, güvenlik açısından kritik veya güvenlik açısından güvenli-kritik kod yayamaz. Öznitelikler dinamik derleme oluşturulduğunda belirtilmelidir veya derleme diske kaydedilip yeniden yüklenene kadar etkili olmaz.

Not

Varsayılan devralma, çalışma zamanının saydamlık değerlendirmesiyle sınırlıdır. Dinamik derlemeye hiçbir öznitelik uygulanmaz. Güvenlik öznitelikleri eklemek istiyorsanız, bunları kendiniz uygulamanız gerekir.

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

Şunlara uygulanır

Ayrıca bkz.