Bagikan melalui


x:Arahan FactoryMethod

Menentukan metode selain konstruktor yang harus digunakan prosesor XAML untuk menginisialisasi objek setelah menyelesaikan jenis pencadangannya.

Penggunaan Atribut XAML, tidak ada x:Argumen

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

Penggunaan Atribut XAML, x:Argumen sebagai Elemen

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

Nilai XAML

Nilai Deskripsi
methodname Nama metode string dari metode yang dipanggil prosesor XAML untuk menginisialisasi instans yang ditentukan sebagai object. Lihat Keterangan.
oneOrMoreObjectElements Satu atau beberapa elemen objek untuk objek yang menentukan parameter metode pabrik. Pesanan signifikan; ini menandakan urutan di mana argumen harus diteruskan ke metode pabrik.

Keterangan

Jika methodname merupakan metode instans, metode tersebut tidak dapat memenuhi syarat.

Metode statis sebagai metode pabrik didukung. Jika methodname merupakan metode statis, methodname disediakan sebagai typeName.methodName kombinasi, di mana typeName nama kelas yang menentukan metode pabrik statis. typeName dapat berupa prefiks-qualified jika mengacu pada jenis dalam xmln yang dipetakan. typeName dapat menjadi jenis yang berbeda dari typeof(object).

Metode pabrik harus merupakan metode publik yang dideklarasikan dari jenis yang mendukung elemen objek yang relevan.

Metode pabrik harus mengembalikan instans yang dapat ditetapkan ke objek yang relevan. Metode pabrik tidak boleh mengembalikan null.

x:Arguments beroperasi dengan prinsip kecocokan terbaik untuk tanda tangan metode pabrik. Pencocokan mengevaluasi jumlah parameter terlebih dahulu. Jika ada lebih dari satu kemungkinan kecocokan untuk jumlah parameter, jenis parameter kemudian dievaluasi dan paling cocok ditentukan. Jika masih ada ambiguitas setelah fase evaluasi ini, perilaku prosesor XAML tidak terdefinisi.

Penggunaan x:FactoryMethod elemen bukan penggunaan elemen properti dalam arti umum, karena markup direktif tidak mereferensikan jenis elemen objek yang berisi. Diharapkan penggunaan elemen kurang umum daripada penggunaan atribut. x:Arguments (baik penggunaan atribut atau elemen) dapat digunakan bersama dengan x:FactoryMethod penggunaan elemen, tetapi ini tidak secara khusus ditunjukkan di bagian Penggunaan.

x:FactoryMethod sebagai elemen harus mendahului elemen properti lainnya, harus mendahului apa pun x:Arguments yang juga disediakan sebagai elemen, dan harus mendahului konten/teks/inisialisasi dalam apa pun.

Baca juga