继承时,有没有办法不强制包含具有MustOverride属性的成员?我正在开发一个自定义MembershipProvider,我只需要访问一些成员。这纯粹是一种美学的东西 - 我只是讨厌排除100行未使用的成员声明。
答案 0 :(得分:13)
您可以右键单击继承的类并选择“实现此...”,它将为您抛出NotImplementedException()创建方法定义,直到您重写方法的代码。
答案 1 :(得分:7)
MustOverride(C#中的abstract)指定必须重写它。没有办法解决这个问题。
您可以让Visual Studio为您提供功能,但它们必须存在才能实例化类。
另一个选择:如果你要做多个版本,你可以创建一个实现成员的类(抛出NotImplementedException,或什么也不做),然后从THAT类派生。您的具体版本只需要覆盖您希望的特定方法。
答案 2 :(得分:5)
不,没有。
顺便说一句,MustOverride通常在C#中称为抽象。
答案 3 :(得分:2)
是的,有......也宣称你的班级是抽象的! :-P
现在,说真的,只要想一想。如果你不在非抽象类中实现抽象成员,想象在调用没有实现的方法时会在运行时发生什么?在C ++中,这是可能的,你会得到一个“纯虚函数调用”错误。