SetRestrictedTypes

ReportingEngine.SetRestrictedTypes method

Şablon sözdizimi aracılığıyla engine tarafından hangi üyelerin ve hangi türetilmiş türlerin üyelerinin erişilemez olması gerektiğini belirtir.

public static void SetRestrictedTypes(params Type[] types)
ParametreTipTanım
typesType[]Kısıtlanacak tipler.

Notlar

Kısıtlı türler, bir raporun ilk oluşturulmasından önce ayarlanmalıdır. SonrasındaOluşturma Raporu çağrıldığında, kısıtlı türler değiştirilemez ve bunu yapmaya çalışıldığında bir istisna atılır . Kısıtlı türleri ayarlamak için en iyi yer uygulama başlangıcıdır.

Çok sayıda kısıtlı türün performansı etkileyebileceğini unutmayın, bu nedenle yalnızca erişimi gerçekten hassas olan üyelerin olduğu türlerini kısıtlamak daha iyidir.

AtışlarArgumentException Aşağıdaki durumlarda:

-types boştur.

  • Bir tanesitypes öğelerhükümsüz.

  • Bir tanesitypes items görünmez bir türü, yani genel olmayan bir türü veya genel olmayan bir dış türe sahip genel bir iç içe türü temsil eder.

  • Bir tanesitypes items bir dizi türünü temsil eder.

-types yinelenen girdiler içeriyor.

Örnekler

Güvenli kabul edilmeyen türdeki üyelere erişimin nasıl reddedileceğini gösterir.

Document doc =
    DocumentHelper.CreateSimpleDocument(
        "<<var [typeVar = \"\".GetType().BaseType]>><<[typeVar]>>");

// Rapor oluştururken veya oluşturduktan sonra kısıtlı türler ayarlayamayacağınızı unutmayın.
ReportingEngine.SetRestrictedTypes(typeof(System.Type));
// Rapor oluştururken istisnaların yaşanmaması için "AllowMissingMembers" seçeneğini ayarladık.
ReportingEngine engine = new ReportingEngine() { Options = ReportBuildOptions.AllowMissingMembers };
engine.BuildReport(doc, new object());

// GetType() metoduna erişemediğimiz için boş bir dize alıyoruz.
Assert.AreEqual(string.Empty, doc.GetText().Trim());

Ayrıca bakınız