Q
已弃用c#
24
A
回答
37
当然,你可以:
public enum EE
{
A,
[Obsolete]
B
}
1
-1
正如其他海报指出,你可以添加ObsoleteAttribute
到枚举成员,但它仍然可以在您的代码中使用。没有办法以编程方式排除枚举成员,即如果它存在于枚举中,则会产生编译错误或异常。添加属性只会向开发人员发出警告。
+5
这是不正确的,有一个属性[IsError](http://msdn.microsoft.com/en-us/library/system.obsoleteattribute.iserror.aspx),如果为true,将导致它成为编译器错误而不是警告。 – 2013-06-18 14:29:04
27
实际上,可能会生成编译器警告或编译器错误。
public enum TestEnum
{
A,
[Obsolete("Not in use anymore")]
B,
[Obsolete("Not in use anymore", true)]
C,
}
public class Class1
{
public void TestMethod()
{
TestEnum t1 = TestEnum.A; //Works just fine.
TestEnum t2 = TestEnum.B; //Will still compile, but generates a warning.
TestEnum t3 = TestEnum.C; //Will no longer compile.
}
}
无论你使用[Obsolete]属性,这都可以工作。
相关问题
- 1. 已弃用C#的App.config?
- 2. C功能已被弃用
- 3. C#Threading.Suspend已废弃,线程已被弃用?
- 4. [弃权] MultiJson.decode已弃用
- 5. 已弃用HttpClient?
- 6. Enum.ToString()已弃用?
- 7. 已弃用Httpclient
- 8. FAXCOMEXLIB已弃用?
- 9. stringWithContentsOfFile已弃用
- 10. DLR:IAttributesCollection已弃用?
- 11. UIPopoverController已弃用
- 12. 'itemFromNormalSprite:selectedSprite:target:selector:'已弃用
- 13. ISampleGrabber已弃用?
- 14. 已弃用notification.setLatestEventInfo
- 15. LSOpenApplication已弃用?
- 16. AndroidHttpClient已弃用
- 17. SetTimer已弃用?
- 18. glEnableClientState已弃用
- 19. CursorAdapter已弃用?
- 20. File.toURL()已弃用?
- 21. getch已弃用
- 22. setFont已弃用?
- 23. Config.LOGD已弃用
- 24. AccountManager.removeAccount已弃用
- 25. OnCameraChangeListener()已弃用
- 26. setBackgroundColor已弃用
- 27. $ HADOOP_HOME已弃用
- 28. ProgressDialog已弃用
- 29. 弃用:函数eregi()已弃用
- 30. SoftLayer_User_Customer :: updatePassword已弃用
您是否尝试过使用['ObsoleteAttribute'](http://msdn.microsoft.com/en-us/library/system.obsoleteattribute.aspx)? – 2011-12-21 10:58:27
需要看一些代码... – BoltClock 2011-12-21 10:58:32
@BoltClock为什么?我只是想设置一个枚举为过时... – JohnJohnGa 2011-12-21 10:59:37