当前位置: 首页 > 编程语言 > C#

重写方法中什么时候调用base.Method(),团队写代码时如何标记?分享

时间:2023-04-11 01:31:07 C#

重写的方法应该什么时候调用base.Method(),团队写代码时如何标记?使用某些框架/api时,有时您不清楚是否必须调用base.Method如果您覆盖它,例如您可以非常确定在覆盖事件调用者以传播事件时应该调用base.Mamethod()在其他情况下,它可能不是那么清楚,尤其是在没有源代码可用且没有注释的情况下。我想知道其他程序员在这种情况下如何决定是否应该调用基方法,如果你要编写一些框架如何通知其他程序员你想要在虚拟成员中调用或不调用基方法.现在我认为覆盖方法的类的消费者不需要调用base.Method()。代码应该以不会被破坏的方式编写。publicclassMyBase{privatevoidFooInternal(){DoRequiredStuff();富();}publicvirtualvoidFoo(){}}如果您要求类的使用者必须实现特定方法的功能,则该方法应标记为抽象的。如果您的类的使用者应该有选择地提供特定方法的功能,那么该方法应该是虚拟的。实际上没有办法要求类的用户在虚方法上调用base.Method()。这真的取决于上下文。如果base.Method()做了一些你必须做的工作,那么你应该调用base.Method()如果它节省了一些开发时间/它在那个上下文中有意义。这取决于您是否需要使用底层功能。例如,如果基对象有一些需要运行的公共数据库功能,则在最后调用基方法。如果您的代码覆盖了基本方法将设置的某些属性,则首先调用基本方法。如果您没有源代码或文档,RedGate的.NetReflector(http://www.red-gate.com/products/dotnet-development/reflector/)可以解压您尝试使用的程序集,您可以看到代码有效。以上就是C#学习教程:重写的方法中应该什么时候调用base.Method(),团队写代码时如何标记?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: