情况:
我实现了一个隐式接口并删除了接口上的一个属性(稍后)。没有警告应该在实现类上删除此属性。
我知道我可以显式地实现接口,但我会尝试绕过它。
编辑:(添加了一个问题)
如何通知/警告/...我可能不再需要实现类中的成员?
我实现了一个隐式接口并删除了接口上的一个属性(稍后)。没有警告应该在实现类上删除此属性。
我知道我可以显式地实现接口,但我会尝试绕过它。
编辑:(添加了一个问题)
如何通知/警告/...我可能不再需要实现类中的成员?
编译器无法在 C# 中给您这样的警告。不知何故,它需要了解接口的过去版本,以了解删除了哪些方法/属性,从而确定可能的删除候选者。
并回答您的评论,您不能让编译器/重构工具仅根据#region
其定义的方法来决定任何给定方法是否是候选方法。绝对没有任何东西可以强制在任何给定方法中定义任何给定方法region
,它只是视觉上的糖所以基于区域的重构是完全不安全的。
有时冗长的语言确实有优势,在这种情况下,带有implements
关键字的 VB 会使这成为编译时错误。在 C# 中,您必须使用显式实现的接口,这根本不是一个坏选择。阅读此处了解更多详情。