Я использую 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()
является реализацией частичного метода, так что я получаю разрыв во время компиляции, если нет соответствующего частичного в сгенерированном коде?