x:FactoryMethod Yönergesi
Bir XAML işlemcisinin, kendi destek türünü çözümledikten sonra bir nesneyi başlatmak için kullanması gereken bir Oluşturucu dışında bir yöntemi belirtir.
XAML öznitelik kullanımı, x:Arguments yok
<object x:FactoryMethod="methodname"...>
...
</object>
XAML öznitelik kullanımı, x:Arguments öğe (ler) olarak
<object x:FactoryMethod="methodname"...>
<x:Arguments>
oneOrMoreObjectElements
</x:Arguments>
</object>
XAML Değerleri
methodname |
XAML işlemcilerin, olarak belirtilen örneği başlatmak için çağrı yapan yöntemin dize yöntemi adı object . Bkz. açıklamalar. |
oneOrMoreObjectElements |
Fabrika Yöntemi parametrelerini belirten nesneler için bir veya daha fazla nesne öğesi. Sıra önemlidir; bağımsız değişkenlerin fabrika yöntemine geçirilmesi gereken sırayı belirtir. |
Açıklamalar
methodnameBir örnek yöntemi ise, nitelenemez.
Fabrika yöntemleri olarak statik yöntemler desteklenir. methodnameStatik bir yöntem ise, methodname bir bileşim olarak sağlanır typeName.methodName , burada typeName statik fabrika yöntemini tanımlayan sınıfın adı vardır. typeName eşlenen xmlns içindeki bir türe başvuru yaptıysanız önek nitelenebilir. typeName , öğesinden farklı bir tür olabilir typeof(object) .
Factory yöntemi, ilgili nesne öğesini yedekleyen türün tanımlanmış bir ortak yöntemi olmalıdır.
Factory yöntemi, ilgili nesneye atanabilen bir örnek döndürmelidir. Fabrika yöntemleri asla null döndürmemelidir.
x:Arguments Fabrika yöntemlerinin imzaları için en iyi eşleşme ilkesi üzerinde çalışır. Eşleşen parametre sayısını önce değerlendirir. Bir parametre sayısı için birden fazla olası eşleşme varsa, parametre türü değerlendirilir ve en iyi eşleşme belirlenir. Bu değerlendirme aşamasından sonra hala belirsizlik varsa XAML işlemci davranışı tanımsızdır.
x:FactoryMethodYönerge biçimlendirmesi kapsayan nesne öğesinin türüne başvurmadığından, öğe kullanımı tipik anlamda Özellik öğesi kullanımı değildir. Öğe kullanımının öznitelik kullanımından daha az yaygın olması beklenmektedir. x:Arguments (öznitelik veya öğe kullanımı) öğe kullanımı ile birlikte kullanılabilir x:FactoryMethod , ancak bu özellikle kullanım bölümlerinde gösterilmez.
x:FactoryMethod bir öğe, diğer tüm özellik öğelerinden önce gelmeli, x:Arguments öğeler olarak sağlanmasının ve tüm içerik/iç metin/başlatma metininin önüne gelmesi gerekir.