Aracılığıyla paylaş


FirstMatchCodeGroup.Resolve(Evidence) Yöntem

Tanım

Bir dizi kanıt için kod grubu ve alt öğeleri için ilkeyi çözümler.

public:
 override System::Security::Policy::PolicyStatement ^ Resolve(System::Security::Policy::Evidence ^ evidence);
public override System.Security.Policy.PolicyStatement Resolve (System.Security.Policy.Evidence evidence);
override this.Resolve : System.Security.Policy.Evidence -> System.Security.Policy.PolicyStatement
Public Overrides Function Resolve (evidence As Evidence) As PolicyStatement

Parametreler

evidence
Evidence

Bütünleştirilmiş kodun kanıtı.

Döndürülenler

PolicyStatement

İsteğe bağlı özniteliklere null sahip kod grubu tarafından verilen izinlerden veya kod grubu uygulanmıyorsa (üyelik koşulu belirtilen kanıtla eşleşmiyor) bir ilke deyimi.

Özel durumlar

evidence parametresidirnull.

Birden fazla kod grubu (üst kod grubu ve alt kod grupları dahil) olarak işaretlenir Exclusive.

Örnekler

Aşağıdaki kod, kod grubu için ilkeyi Resolve çözümlemek için yönteminin kullanımını gösterir. Bu kod örneği, sınıfı için FirstMatchCodeGroup sağlanan daha büyük bir örneğin parçasıdır.

Assembly^ assembly = Members::typeid->Assembly;
Evidence^ executingEvidence = assembly->Evidence;

PolicyStatement^ policy = codeGroup->Resolve( executingEvidence );
Assembly assembly = typeof(Members).Assembly;
Evidence executingEvidence = assembly.Evidence;

PolicyStatement policy = codeGroup.Resolve(executingEvidence);
Dim executingAssembly As [Assembly] = Me.GetType().Assembly
Dim executingEvidence As Evidence
executingEvidence = executingAssembly.Evidence

Dim policy As PolicyStatement = codeGroup.Resolve(executingEvidence)

Açıklamalar

Bir derlemenin yüklenmesine yönelik kanıt verilip verilmediği, bu yöntem önce belirtilen kanıta göre üyelik koşulunu denetleyerek kod grubunu değerlendirir. Eşleşme varsa, bu yöntem alt kod gruplarının değerlendirilmesi dahil olmak üzere kod grubu için bir ilke deyimi döndürür.

İlk eşleşme kod grupları için her alt kod grubunun üyelik koşulu, kanıta göre eklendikleri sırayla test edilir; yalnızca ilk eşleşme kanıt kümesiyle çözülür. Eşleşme yoksa, üst ilk eşleşme kod grubunun ilke deyimi uygulanır. Eşleşen alt kod grubu türü, bu alt grupların yöntemlerinin nasıl çalıştığına bağlı olarak altındaki tüm alt grupların Resolve nasıl uygulanacağını belirler.

.NET Framework güvenlik sistemi, sonuçta elde edilen ilke deyimlerinden yüklenen koda hangi izinlerin verileceğini ve derlemedeki kod isteğini belirlemek için ilke düzeylerinde kullanırResolve.

Bu yöntemin bu işlemi aşağıdaki gibidir:

Üyelik koşulu belirtilen kanıtla eşleşmiyorsa döndür ; nullaksi takdirde, izin kümesini kod grubunun ilke bildirimine eşit olarak döndürülecek (P) olarak ayarlayın ve devam edin. Her alt kod grubu için kod grubunu aynı kanıt ile çözümle; sonuç değilse null, bu ilke deyimini döndür. Eşleşen bir alt kod grubu yoksa, P (üst öğesinin ilke bildirimi) döndür.

Şunlara uygulanır