2

情况:

我实现了一个隐式接口并删除了接口上的一个属性(稍后)。没有警告应该在实现类上删除此属性。

我知道我可以显式地实现接口,但我会尝试绕过它。


编辑:(添加了一个问题)

如何通知/警告/...我可能不再需要实现类中的成员?

4

1 回答 1

1

编译器无法在 C# 中给您这样的警告。不知何故,它需要了解接口的过去版本,以了解删除了哪些方法/属性,从而确定可能的删除候选者。

并回答您的评论,您不能让编译器/重构工具仅根据#region其定义的方法来决定任何给定方法是否是候选方法。绝对没有任何东西可以强制在任何给定方法中定义任何给定方法region,它只是视觉上的糖所以基于区域的重构是完全不安全的。

有时冗长的语言确实有优势,在这种情况下,带有implements关键字的 VB 会使这成为编译时错误。在 C# 中,您必须使用显式实现的接口,这根本不是一个坏选择。阅读此处了解更多详情。

于 2015-08-11T12:56:17.377 回答