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