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
.NET Desktop feedback