【发布时间】:2011-06-30 15:03:45
【问题描述】:
我正在使用 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() 版本是部分方法的实现,这样如果没有相应的部分方法,我会得到编译时中断在生成的代码中?
【问题讨论】:
标签: c# vb.net linq-to-sql partial-classes