Gunakan refleksi untuk memanggil kaedah dengan parameter
Apabila memanggil kaedah dengan parameter melalui pantulan, adalah penting untuk memastikan padanan jenis dan penciptaan objek. Ralat "Objek tidak sepadan dengan jenis sasaran" biasanya disebabkan oleh pengendalian yang tidak betul bagi kedua-dua aspek ini.
Untuk menyelesaikan isu ini, pastikan objek yang kaedah dipanggil ialah tika kelas. Dalam kod yang disediakan, parameter hendaklah dihantar kepada classInstance
bukannya methodInfo
.
<code>result = methodInfo.Invoke(classInstance, parametersArray);</code>
Pengubahsuaian ini akan mencipta contoh kelas dan menghantar parameter kepada kaedah dengan betul.
Dalam kod, kaedah Run
hanya boleh diakses apabila kaedah Test("Run")
ditakrifkan dengan parameter rentetan. Jika takrifan ini tidak wujud, anda akan menghadapi ralat "Objek tidak sepadan dengan jenis sasaran".
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Objek Tidak Padan dengan Jenis Sasaran' Apabila Menggunakan Refleksi untuk Mendapat Kaedah dengan Parameter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!