加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何测试重命名的部分方法?

发布时间:2020-12-15 17:18:14 所属栏目:百科 来源:网络整理
导读:我正在使用 Linq to SQL,它生成部分类和部分方法.然后,通过在另一个分部类中手动实现自定义,扩展生成的代码. L2S提供的一个钩子是能够实现属性更改时调用的部分方法.例如,如果您有一个名为“MyProp”的属性,那么您可以实现类似的部分方法: ' Given to you i
我正在使用 Linq to SQL,它生成部分类和部分方法.然后,通过在另一个分部类中手动实现自定义,扩展生成的代码. L2S提供的一个钩子是能够实现属性更改时调用的部分方法.例如,如果您有一个名为“MyProp”的属性,那么您可以实现类似的部分方法:

' Given to you in the generator
Partial Private Sub OnMyPropChanged()
End Sub

' Manually implemented in my custom class
' I cannot specify that this is an implementation of a Partial,even though it is...
Private Sub OnMyPropChanged()
   Console.WriteLine("My prop changed... do something here")
End Sub

我遇到的问题是“MyProp”的名称现在已更改为“MyNewPropName”,因此现在生成器中的部分创建了Partial Private Sub OnMyNewPropNameChanged(),但我的部分方法版本仍然具有旧名称.实际上,我现在有一个永远不会被调用的孤立私有方法,这意味着我的代码在运行时被破坏了.你会如何测试这样的东西,甚至更好 – 有没有办法指定我的OnMyPropChanged()版本是部分方法的实现,这样如果没有相应的部分,我就会得到编译时间的破坏在生成的代码中?

解决方法

通过使用静态分析(代码分析),当代码包含从未访问或仅设置的任何内部(私有,自由,内部)成员时,您将收到警告/错误. 这可能有助于找到这样的星座. (IIRC有关的错误代码是CA1811)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读