Isi kandungan:
Definisi - Apakah maksud Attribute Bersyarat?
Atribut bersyarat ialah tanda yang digunakan untuk menandakan kaedah atau kelas yang pelaksanaannya bergantung pada takrif pengenal preprocessing.
Atribut bersyarat menunjukkan syarat untuk menentukan kompilasi bersyarat di mana kaedah secara selektif dipanggil berdasarkan definisi simbol. Ia mengarahkan pengkompil untuk mengkompilasi (ke dalam Bahasa Microsoft Intermediate Language) atau tidak menyusun blok kod tertentu, berdasarkan syarat - sama ada simbol kompilasi bersyarat atau spesifik ditetapkan. Sekiranya simbol-simbol tertentu tidak ditakrifkan pada saat mereka dipanggil, maka panggilan kepada kaedah atau kelas itu akan diabaikan oleh pengkompil.
Techopedia menerangkan Atribut Bersyarat
Ciri bersyarat mempunyai ciri-ciri berikut:
- Ia boleh digunakan untuk kaedah dan kelas, tetapi hanya jika ia berasal dari atribut.
- Semasa memohon atribut bersyarat ke kelas, kelas atribut akan dipancarkan kepada metadata hanya jika simbol kompilasi bersyarat ditakrifkan.
- Ia mengambil satu parameter, iaitu simbol pengenal yang mengawal kompilasi.
- Argumen-argumen yang dihantar kepada kaedah bersyarat atau kelas atribut akan diketik jenis oleh pengkompil.
- Ia benar-benar dijaga oleh pengkompil dan bukan dengan jangka masa.
- Ia tidak boleh digunakan untuk kaedah yang digunakan dalam ungkapan perwakilan-penciptaan.
- Ia tidak menjejaskan kod yang dihasilkan untuk kaedah bersyarat, tetapi tidak menjejaskan panggilan ke kaedah tersebut.
Atribut bersyarat menyediakan pola pengaturcaraan deklaratif dan membantu dengan mudah mengekalkan kod sumber. Dengan menggunakan atribut bersyarat pada tahap kaedah, kod sumber lebih mudah dibaca. Pemanggil kaedah tidak memerlukan kod tambahan untuk kompilasi bersyarat. Atribut bersyarat digunakan untuk membolehkan fungsi mengesan dan pembalakan dalam debug membina dengan menggunakan pengenal DEBUG untuk memaparkan dan log maklumat diagnostik yang berkaitan dengan aplikasi. Selain itu, ia membantu untuk memisahkan logik yang berkaitan dengan binaan debug (dalam sistem yang digunakan untuk pembangunan) daripada binaan pelepasan, yang digunakan dalam laman dan aplikasi. Untuk mengekalkan beberapa edisi (dengan ciri-ciri terpilih dalam beberapa edisi) perisian tanpa salinan kod, kompilasi bersyarat membentuk teknik yang betul di mana kod sumber utama tunggal dikekalkan untuk pelbagai edisi berdasarkan simbol masing-masing yang ditakrifkan untuknya.
Berikut adalah beberapa peraturan untuk diikuti semasa menggunakan atribut bersyarat:
- Kaedah bersyarat di dalam kelas atau pengisytiharan struktur mesti mempunyai jenis pemulangan sebagai tidak sah.
- Semasa menggunakan pelbagai pengenal sebagai sifat bersyarat, kemasukan kaedah (s) adalah berdasarkan hasil logik ATAU atau logik DAN pada simbol-simbol yang ditetapkan.
- Ia tidak boleh ditentukan berdasarkan kaedah dalam perisytiharan antara muka.
- Kaedah bersyarat tidak boleh didahului dengan kata kunci "mengatasi", tetapi ia boleh menjadi maya. Sekiranya ditindih, ia dianggap bersyarat secara tersirat.
- Simbol yang dipertimbangkan untuk kompilasi bersyarat boleh ditakrifkan sebagai pilihan baris perintah penyusun atau sebagai pembolehubah persekitaran dari shell OS atau sebagai pragmas (menggunakan arahan preprocessor "#define") dalam kod sumber.
- Tidak seperti C ++, definisi simbol dalam C # boleh dalam apa-apa perintah dan dengan itu pesanan di antara "#define" dan kaedah bersyarat perlu ditetapkan dengan betul.
Walaupun penggunaan "#if dan #endif" membentuk pilihan alternatif kepada sifat bersyarat, yang kedua memberikan pendekatan yang lebih bersih, elegan dan kurang mudah jika dibandingkan dengan yang pertama. Secara dalaman, perbezaannya ialah semasa menggunakan atribut bersyarat untuk satu kaedah, kaedah masih menjadi sebahagian daripada pemasangan dan tidak dimuatkan. Tetapi dalam kes #if / #endif, kaedah tidak akan kelihatan di perhimpunan itu sendiri.
Takrif ini ditulis dalam konteks C #
