gpt4 book ai didi

c# - 将成员隐藏在基类中是代码中的难闻气味吗?

转载 作者:行者123 更新时间:2023-11-30 21:08:45 25 4
gpt4 key购买 nike

对我来说,将成员隐藏在基类中以破解某些东西而不是重构糟糕的设计听起来更像是一个异常...

也许我错了。但是……

用'new'关键字在基类中隐藏一个成员是否有代码味道?

最佳答案

这取决于意图。例如,如果目的是阐明具体的返回类型,那么这可能不是不合理的。这里的经典例子是DbConnection . SqlConnection 很有用重新声明 CreateCommand等等,通过返回 SqlCommand而不是 DbCommand , 因为 SqlCommand有许多特定于平台的功能,否则会很痛苦。不过,这里的一个关键点是 DbConnection方法仍然有效,两种方法的目的和意义是一样的。

如果您这样做并且方法做一些不同的事情,或者返回一些不同的东西,那么在某些情况下它会引起混淆。有时它仍然有意义;p 如果他们做同样的事情,并且只是通过正式声明一些对调用者有用的实现来改变,那么很好。

关于c# - 将成员隐藏在基类中是代码中的难闻气味吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9462393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com