Шаг 109 - Атрибут Conditional

Очень хороший атрибут, который используется совместно с директивами препроцессора. Смотрим пример:

using System;
using System.Diagnostics;

class MyTrace
{
	[Conditional("DEBUG")] 
	public void Print()
	{
		Console.WriteLine("Print");
	}
}

class MainClass
{
	public static void Main(string[] args)
	{
		MyTrace m = new MyTrace();
		m.Print();
	}
}

Если компиляция будет производиться с определением DEBUG, то функция Print будет существовать и вызываться.

gif/109_1.gif (1663 b)

А вот есть нет, то компилятор сделает вид, что она ну существует, и не ее реализации, не ее вызова в конечной программе не будет. Обратите внимание что и вызов это функции то же удалиться и это не приведет к ошибке времени выполнения.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 16.10.2001