Съдържание:
Определение - Какво означава условен атрибут?
Условен атрибут е маркер, използван за маркиране на метод или клас, чието изпълнение зависи от дефиницията на идентификатора за предварителна обработка.
Условен атрибут показва условие за уточняване на условно съставяне, при което методите се избират избирателно въз основа на дефиниране на символи. Той инструктира компилатора да компилира (на междинен език на Microsoft) или да не компилира конкретни блокове код въз основа на условие - независимо дали е определен или не определен условен символ за компилация. Ако конкретни символи не са дефинирани в момента, в който са извикани, тогава обажданията към този метод или клас ще бъдат игнорирани от компилатора.
Техопедия обяснява условен атрибут
Условният атрибут има следните характеристики:
- Може да се прилага към методи и класове, но само ако са извлечени от атрибут.
- Докато прилага условен атрибут към клас, класът на атрибутите ще бъде изпратен към метаданните само ако е дефиниран условният символ за компилация.
- Той отнема един параметър, който е идентификаторният символ, контролиращ компилацията.
- Аргументите, предадени на условен метод или клас атрибут, ще бъдат проверени от компилатора.
- За него се грижи напълно компилаторът, а не времето за изпълнение.
- Не може да се приложи към метод, използван в израза за създаване на делегат.
- Той не засяга кода, генериран за условен метод, но влияе на повикването към метода.
Условният атрибут предоставя декларативен модел на програмиране и помага за лесно поддържане на изходния код. Чрез прилагане на условен атрибут на ниво метод, изходният код е по-четим. Обаждащият се метод не трябва да приема допълнителен код за условно компилиране. Използва се условен атрибут, за да се даде възможност за проследяване и регистриране на функционалности в състава на грешки чрез използване на идентификатора DEBUG за показване и регистриране на диагностична информация, свързана с приложението. Също така, тя помага да се отдели логиката, свързана с изграждането на грешки (в системите, използвани за развитие), от версии на версии, които са разположени в сайтове и приложения. За поддържане на множество издания (с избрани функции в някое издание) на софтуер без дублиране на код, условната компилация формира правилната техника, чрез която се поддържа единният основен изходен код за множество издания въз основа на съответните символи, определени за тях.
Следват няколко правила, които трябва да следвате, докато използвате условен атрибут:
- Условният метод вътре в клас или структура декларация трябва да има тип връщане като невалиден.
- Докато използвате множество идентификатори като условни атрибути, включването на метода (ите) се основава на резултата от логическо ИЛИ или логично И на определените символи.
- Не може да се посочи метод в декларация на интерфейс.
- Един условен метод не може да бъде предшестван с ключова дума "override", но може да бъде виртуален. Ако се отмени, то се счита за условно косвено.
- Символите, разглеждани за условно компилиране, могат да бъдат дефинирани като опции за команден ред на компилатор или като променливи на средата от обвивката на ОС или като прагми (използвайки директива за препроцесора "#define") в изходния код.
- За разлика от C ++, дефинирането на символите в C # може да бъде във всеки ред и следователно подреждането между "#define" и условен метод трябва да бъде правилно зададено.
Въпреки че използването на "#if и #endif" образува алтернативен вариант на условен атрибут, последният осигурява по-чист, елегантен и по-малко податлив на грешки подход в сравнение с първия. Вътрешно разликата е, че докато използвате условен атрибут за метод, методът все още ще бъде част от монтажа и не се зарежда. Но в случая с #if / #endif методът няма да бъде видим в самия монтаж.
Това определение е написано в контекста на C #