XAML'deki Genel Türler

'de uygulanan .NET XAML System.Xaml Hizmetleri, genel CLR türlerini kullanma desteği sağlar. Bu destek, tür bağımsız değişkeni olarak genel tür kısıtlamalarını belirtmeyi ve genel koleksiyon örnekleri için uygun yöntemi çağırarak Add kısıtlamayı zorlamayı içerir. Bu konuda, XAML'de genel türleri kullanma ve genel türlere başvuru yönleri açıklanmıştır.

x:TypeArguments

x:TypeArguments , XAML dili tarafından tanımlanan bir yönergedir. Genel tür tarafından desteklen bir XAML türünün üyesi olarak kullanılırsa, genelin kısıtlanmış tür bağımsız değişkenlerini destek x:TypeArguments oluşturucuya iletir. söz dizimi örnekleri içeren .NET XAML Hizmetleri kullanımıyla ilgili başvuru söz dizimi için x:TypeArguments bkz. x:TypeArguments

Bir dizeyi alır ve tür dönüştürücüye sahip olduğundan, genellikle bir öznitelik olarak x:TypeArguments XAML kullanımında bildirilen.

XAML düğüm akışında, tarafından bildirilen bilgiler düğüm x:TypeArgumentsXamlType.TypeArguments akışında StartObject bir konumdan elde edilir. dönüş değeri XamlType.TypeArguments bir değer XamlType listesidir. Bir XAML türünün genel bir türü temsil edip ettiğine karar ve çağrılarak. XamlType.IsGeneric

XAML'de Genel Türler için Kurallar ve Söz Dizimi Kuralları

XAML'de, genel tür her zaman kısıtlanmış genel olarak temsil etmek gerekir. Sınırlandırlanmamış genel, XAML tür sisteminde veya bir XAML düğümü akışında hiçbir zaman mevcut olmayacaktır ve XAML işaretlemesinde temsil olamaz. Genel bir genel, tarafından başvurulan genel bir iç içe tür kısıtlaması olduğu durumlar için XAML öznitelik sözdizimi içinde veya genel bir tür için CLR türü başvurusu sağlar durumlar için x:TypeArgumentsx:Type başvurul olabilir. Genel türlere başvuru, XamlTypeTypeConverter .NET XAML Hizmetleri tarafından tanımlanan sınıf aracılığıyla de destekler.

tarafından etkinleştirilen XAML özniteliği söz dizimi formu, genel türlerin türleri ve kısıtlamaları için açılı ayraç kullanan tipik MSIL / CLR söz dizimi kuralında değişiklik gösterir ve bunun yerine kısıtlama kapsayıcısı için XamlTypeTypeConverter parantezleri kullanır. Bir örnek için bkz. x:TypeArguments Yönergesi.

Genel Türler ve XAML 2009 Özellikleri

Ortak dil temel öğeleri için XAML türlerini almak üzere CLR temel türlerini eşlemek yerine XAML 2009 kullanıyorsanız, içinde bilgi öğeleri olarak XAML 2009 yerleşik türlerini kullanabilirsiniz. Örneğin, aşağıdakini bildirebilirsiniz (ön ek eşlemeleri gösterilmez, ancak x XAML 2009 için XAML dili XAML ad alanıdır):

<my:BusinessObject x:TypeArguments="x:String,x:Int32"/>

WPF'de Genel Tür desteği

WPF'i özellikle hedeflerken XAML 2006 kullanımı için, x:Class ile aynı öğede de sağlanmalıdır ve bu öğe bir XAML belgesinde kök öğe olması gerekir. Kök öğe, en az bir tür bağımsız değişkeni ile genel bir türe eşlenmeli. PageFunction<T> bunun bir örneğidir.

Genel kullanımları desteklemeye yönelik olası geçici çözümler, genel türleri getir sunan özel bir işaretleme uzantısı tanımlamayı veya genel bir türden türetilen ancak genel kısıtlamayı kendi sınıf tanımında düz hale getiren bir sarmalama sınıfı tanımı sağlamayı içerir.

WPF'de XAML 2009 özelliklerini ile birlikte kullanabilirsiniz, ancak yalnızca gevşek XAML (işaretlemeyle derlenmiş olmayan x:TypeArguments XAML) için kullanabilirsiniz. WPF için işaretlemeyle derlenmiş XAML ve XAML BAML biçimi şu anda XAML 2009 anahtar sözcüklerini ve özelliklerini desteklememektedir.

.NET Framework 3.5 Windows Workflow Foundation'daki özel iş akışları genel XAML kullanımını desteklemez.

Ayrıca bkz.