当前位置 : 主页 > 编程语言 > c语言 >

.net – 将本机方法标记为已弃用/已过时?

来源:互联网 收集:自由互联 发布时间:2021-06-24
在.NET中,您可以将某些方法标记为过时,以便开发人员在尝试使用已弃用的方法时收到警报. Obsolete("Do not call this method.") Private Sub FormerMethod() 问题是你只能在你控制的课程中这样做.当您希
在.NET中,您可以将某些方法标记为过时,以便开发人员在尝试使用已弃用的方法时收到警报.

<Obsolete("Do not call this method.")> Private Sub FormerMethod()

问题是你只能在你控制的课程中这样做.当您希望开发人员避免在.NET本身提供的类或供应商上使用某些方法时,您会怎么做?

例如,如果您希望开发人员在DataTable而不是Select上选择一些自定义扩展方法,该怎么办?如果只是弃用Select,我不得不定义DataTable类的自定义版本.这将使我们不得不警察是否使用了自定义表.

我知道有像(FxCop)这样的工具可以帮助实施编码标准;但是,我的问题是,如果没有某些第三方工具,这是否可以处理.

虽然你可能不喜欢这个答案,但我认为包装是合适的选择.

对于第三方供应商的代码,包装应该是强制性的,只是为了产生单元测试的抽象级别.作为一个包装器,您显然可以将方法标记为已过时.

对于.NET对象,它有点棘手.显然,有人可以只包括命名空间并前往城镇;我不相信有这样一个问题的“仅代码”解决方案就像你想要的那样,除了可能进行一个搜索你的解决方案的集成测试,并且当你调用那个你不喜欢的特定方法时失败.

网友评论