How to mark a class as Deprecated? [duplicate]

2019-01-30 00:29发布

Possible Duplicate:
How do I mark a method as Obsolete/Deprecated? - C#

How do you mark a class as deprecated? I do not want to use a class any more in my project, but do not want to delete it before a period of 2 weeks.

4条回答
闹够了就滚
2楼-- · 2019-01-30 00:39

You need to use the attribute [Obsolete].

This is an example:

[Obsolete("Not used any more", true)]
public class MyDeprecatedClass
{
    //...
}

You do not have use parameters, they are optional (overloaded method). The first parameter is for the reason and the last one is to mark an Error in compile time instead of a warning.

查看更多
Evening l夕情丶
3楼-- · 2019-01-30 00:39

If you are using version control I would recommend just deleting the class. There is no reason to have unused code around.

Version control will be a handy undo if you decide later that you want the class.

查看更多
女痞
4楼-- · 2019-01-30 00:47

As per Doak's answer, but the attribute's second parameter should be set to false if you want the code to compile:

[Obsolete("Not used any more", false)]
public class MyDeprecatedClass
{
        //...
}

This will just throw warnings.

查看更多
我欲成王,谁敢阻挡
5楼-- · 2019-01-30 00:48

The reason to not erase a class and deprecate instead is to adhere to some "politeness policies" when your code is an estabished API and then is consumed by third parties.

If you deprecate instead of erase, you give consumers a life cycle policy (e.g., maintenance and existence of the classes until version X.X) in order to allow them to plan a proper migration to your new API.

查看更多
登录 后发表回答