4. #if 대신 Conditional Attribute를 사용하라.
namespace ConsoleApplication
{
class Program
{
class CStudent
{
private string _name;
public CStudent()
{
_name = "못생긴 학생";
}
public string Name
{
get
{
return _name;
}
set
{
CheckState();
_name = value;
CheckState();
}
}
[Conditional("DEBUG")]
public void CheckState()
{
Console.WriteLine("대입 하기전 혹은 후 학생의 이름 {0}",_name);
}
}
static void Main(string[] args)
{
CStudent student1 = new CStudent();
student1.Name = "잘생긴 학생";
}
}
}
이렇게 하면 DEBUG 할땐 학생 이름이 바뀌기 전후로 보여준다.
하지만 Release 버전에서는 호출되지 않는다.
#if 는 일단 호출이되고나서 안에서 #if 문을 사용해야 하기때문에
아무것도 안하는 함수를 호출해야되는 낭비가 있다.