about uscontact

버전관리를 위한 ObsoleteAttribute

Category:
Author: zemna
Date: April 17, 2021
Share this:

프로그램이나 라이브러리를 버전업할 때 기존에 제작했던 함수를 새로운 기능을 추가한 함수로 대체하거나 할 경우가 생길 수 있습니다.

이런 경우, 기존에 제공하던 함수를 삭제하게 되면 하위 프로그램들과의 호환성에 문제가 생기고, 그냥 두면 코드가 복잡해지고 어디에서 사용했는지 분간해내기 어려운 경우가 생깁니다.

이때, Obsolete 특성을 사용하게 되면 그러한 문제를 해결 할 수 있습니다.

Obsolete 특성은 그 위치의 항목을 앞으로 계속 사용하지 않는 편이 좋은 것으로 표시해줍니다.  이 특성이 어떻게 구성되어 있는지에 따라 Obsolete로 표시된 항목을 사용할 때마다 경고나 오류가 표시됩니다. 예를 들면 다음과 같습니다.

[System.Obsolete("use class B")]
class A
{
    public void Method() { }
}
class B
{
    [System.Obsolete("use NewMethod", true)]
    public void OldMethod()  { }
    public void NewMethod()  { }
}

위와 같이 적용하고 A 클래스를 사용하게 되면 "use class B" 메세지의 경고가 생성되게 됩니다.

그리고 B 클래스의 OldMethod 함수를 호출하게 되면 이 경우에는 두번째 인수가 true로 설정되어 있으므로 컴파일러 오류가 발생하게 됩니다.

Obsolete 특성은 인수 없이도 사용할 수 있지만 해당 항목이 계속 사용되지 않는 이우와 대신 사용할 항목에 대한 정보를 포함하는 것이 좋습니다.

Share this:

Leave a Reply

Your email address will not be published.

ZEMNA.NET

Professional software development agency estalished in Indonesia. We offers website setup, web application development, fulfillment service, and etc.
Follow us
Follow us to get latest news and tutorials.
2022 - Copyright, All Rights Reserved, Made by ZEMNA.NET with ❤️
magnifiercrossmenu