我使用ASP.NET,我知道我可以将方法标记为:
但是我问我是否可以将方法标记为"尚未使用",这意味着"我写了但实际上它未被使用,迟早会有人使用它& #34;
谢谢!
答案 0 :(得分:11)
您可以在方法中使用适当的消息抛出NotImplementedException
。这将在运行时确保不调用该方法。
public void MyMethod(){
throw new NotImplementedException("This will be implemented soon");
}
如果您想使用元信息,您可以定义own Attribute来装饰您的方法。 (但我认为您也可以使用特殊消息重用ObsoleteAttribute)
答案 1 :(得分:4)
答案 2 :(得分:2)
我认为您希望将来的功能目前处于非活动状态,因为尚未完全实现(这是我认为唯一有意义的情况)。
如果您不想使用它,请不要将它放在界面中(您应该使用界面)或将其放在只有您拥有的独特界面中。你也可以使用Obsolete装饰器和“这不是要使用的”消息。
如果有人可以使用它,因为它是公开发布的,你不应该关心它有多少引用。如果引用来自您的解决方案之外,通常您无法知道它。你不应该删除这样的方法,因为这是一个重大改变。
如果它是私有的,您的IDE应该警告您,您可以将其删除或评论其未来的使用情况;添加对其所针对的功能的引用,以便在关闭时将其删除(有人决定不会实现)。
答案 3 :(得分:1)
对于此方法,您可以在Documentation Comment中表达您对未使用方法的所有悲伤。只是不要抛出任何NotImplementedException
,否则这种方法永远不会被使用。
但这有点愚蠢,如果不使用它你应该删除它。正如实践所示,大多数人还没有,但也许有一天会在某些时候出现。代码根本不会被使用,所以删除它是完全合理的。如果由于某种原因您以后需要这种方法,您可以随时检查您的源代码管理。
如果你想更多地丢弃你的解决方案,你总是可以做一些愚蠢的事情,比如实现你的自定义[PleaseUseMe]
Attribute
答案 4 :(得分:0)
只是因为你不能意味着你应该...... 为什么要编写尚未使用的代码?
这就像是在寒冷的情况下将保暖内衣带到撒哈拉沙漠,当你白天只是来访时。
虽然可以抛出NotImplementedException
,但这不会给你编译时安全性 - 它只会在运行时抛出此异常。
答案 5 :(得分:0)
这是由NotImplementedException
管理的,在实现您知道将来需要的成员但不想立即实现它们的接口时非常有用。该方法的任何用户都将获得异常,但是如果您需要编译时标志,则可以使用Obsolete
- 属性以及诸如“此方法尚未实现”之类的含义消息来关闭内部的例外。