当接口更改时,从实现中删除接口成员

本文关键字:接口 实现 成员 删除 | 更新日期: 2023-09-27 18:07:15

情况:

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

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


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

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

当接口更改时,从实现中删除接口成员

编译器不可能在C#中向您发出这样的警告。它需要了解接口的过去版本,才能知道删除了什么方法/属性,从而确定可能的删除候选者。

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

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