Apabila berurusan dengan kaedah bukan statik, pembangun boleh menggunakan refleksi dengan mudah untuk mencipta contoh kelas dan memanggil kaedah mereka. Walau bagaimanapun, apabila kaedah adalah statik, pendekatan memerlukan pengubahsuaian.
Dalam senario ini, kami menyasarkan untuk menggunakan semua kaedah "Run" daripada kelas statik dalam ruang nama "mySolution.Macros" menggunakan refleksi.
Kunci di sini adalah untuk mengingati bahawa untuk kaedah statik, hujah pertama MethodInfo.Invoke boleh diabaikan. Oleh itu, apabila melelaran melalui kelas statik, kita hanya boleh memanggil tempClass.GetMethod("Run").Invoke(null, null); untuk melaksanakan kaedah yang dikehendaki.
Untuk memastikan bahawa kami hanya memanggil kaedah statik, kami boleh menambah BindingFlags.Static pada panggilan GetMethod, seperti yang ditunjukkan di bawah:
tempClass.GetMethod("Run", BindingFlags.Public | BindingFlags.Static).Invoke(null, null);
Dengan mengikuti pendekatan ini , pembangun boleh memanggil kaedah statik secara berkesan daripada kelas dalam ruang nama tertentu, menawarkan fleksibiliti dan kawalan ke atas pelaksanaan kaedah.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan Kaedah Statik Menggunakan Refleksi dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!