Aracılığıyla paylaş


x:FactoryMethod Yönergesi

Bir XAML işlemcinin, yedekleme türünü çözümledikten sonra bir nesneyi başlatmak için kullanması gereken bir oluşturucu dışında bir yöntem belirtir.

XAML Öznitelik Kullanımı, x:Bağımsız Değişken Yok

<object x:FactoryMethod="methodname"...>
  ...
</object>

XAML Öznitelik Kullanımı, x:Öğe Olarak Bağımsız Değişkenler

<object x:FactoryMethod="methodname"...>
  <x:Arguments>
    oneOrMoreObjectElements
  </x:Arguments>
</object>

XAML Değerleri

Değer Açıklama
methodname XAML işlemcilerinin objectolarak belirtilen örneği başlatmak için çağıran bir yöntemin dize yöntemi adı. Bkz. Açıklamalar.
oneOrMoreObjectElements Fabrika yöntemi parametrelerini belirten nesneler için bir veya daha fazla nesne öğesi. Sipariş önemlidir; bağımsız değişkenlerin fabrika yöntemine geçirilme sırasını gösterir.

Açıklamalar

methodname bir örnek yöntemiyse, nitelenemez.

Fabrika yöntemleri olarak statik yöntemler desteklenir. methodname statik bir yöntemse methodname, typeName.methodName statik fabrika yöntemini tanımlayan sınıfı adlandırdığı bir typeName bileşimi olarak sağlanır. eşlenmiş xmln'lerdeki bir türe başvuruda bulunulduğunda typeName önek nitelenebilir. typeName typeof(object)'dan farklı bir tür olabilir.

Fabrika yöntemi, ilgili nesne öğesini destekleyen türün bildirilen bir genel yöntemi olmalıdır.

Fabrika yöntemi, ilgili nesneye atanabilir bir örnek döndürmelidir. Fabrika yöntemleri hiçbir zaman null döndürmemelidir.

x:Arguments, fabrika yöntemlerinin imzaları için en iyi eşleşme ilkesiyle çalışır. Eşleştirme önce parametre sayısını değerlendirir. Parametre sayısı için birden fazla olası eşleşme varsa, parametre türü değerlendirilir ve en iyi eşleşme belirlenir. Değerlendirmenin bu aşamasından sonra hala belirsizlik varsa, XAML işlemci davranışı tanımlanmamıştır.

yönerge işaretlemesi içeren nesne öğesinin türüne başvurmadığından, x:FactoryMethod öğ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ı beklenir. x:Arguments (öznitelik veya öğe kullanımı) x:FactoryMethod öğe kullanımıyla birlikte kullanılabilir, ancak bu özellikle Kullanım bölümlerinde gösterilmez.

öğe olarak x:FactoryMethod diğer özellik öğelerinin önüne, öğe olarak da sağlanan tüm x:Arguments önünde olmalı ve tüm içerik/iç metin/başlatma metinlerinin önünde olmalıdır.

Ayrıca bkz.