Menentukan Penambahan Kaedah Sambungan Menggunakan Refleksi
Dalam C#, kaedah sambungan boleh menambah kelas sedia ada tanpa mengubah suai kod sumbernya. Untuk memastikan sama ada kaedah sambungan telah ditambahkan pada kelas, refleksi menyediakan teknik yang berdaya maju.
Menggunakan refleksi, anda boleh memeriksa perhimpunan untuk kelas yang dihiasi dengan ExtensionAttribute. Dalam kelas ini, cari kaedah yang juga dihiasi dengan ExtensionAttribute. Selepas itu, bandingkan jenis parameter pertama kaedah dengan jenis sasaran.
Sebagai contoh, pertimbangkan kelas StringExtensions dengan kaedah Songsang sebagai lanjutan untuk kelas rentetan:
public static class StringExtensions { public static string Reverse(this string value) { // Implementation omitted } }
Menggunakan coretan kod yang disediakan, anda boleh mengesan kaedah sambungan ini:
var assembly = typeof(StringExtensions).Assembly; var extensionMethods = GetExtensionMethods(assembly, typeof(string)); Console.WriteLine(extensionMethods.First()); // Output: "StringExtensions.Reverse(string)"
Pendekatan ini memastikan anda menyemak semua yang berkaitan perhimpunan dan menyediakan mekanisme untuk mengesahkan bahawa kaedah sambungan telah ditambahkan dengan betul pada pangkalan kod anda.
Atas ialah kandungan terperinci Bagaimanakah Refleksi Boleh Digunakan untuk Mengesan Kaedah Sambungan Ditambah dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!