gpt4 book ai didi

c# - 接口(interface) vs 内部变量 vs 继承字典

转载 作者:太空宇宙 更新时间:2023-11-03 11:32:54 26 4
gpt4 key购买 nike

我读过

When should I choose inheritance over an interface when designing C# class libraries?

我相信我理解"is"与“必须做”的关系。说了这么多是我的难题。

我想实现一个最有可能的对象的键值对集合。我只需要添加到添加和删除事件来进行验证、检查重复和一些跟踪内容。

如果我实现 IDictionary,那么实现所有 Idictionary<>、ICollection<>、IEnumerable<> 和 IEnumerable 似乎有点过头了。是的,他们中的大多数是一个类轮。

不建议从 Dictionary 继承,因为它永远不会被扩展,隐藏了 Add 和 remove。

最后我可以只实现一个私有(private)变量,然后公开我想要或项目需要的方法

对前进的方向有什么建议吗?

最佳答案

您应该使用组合并在您的类中封装一个字典(私有(private)变量选项)。这样,您只向外界公开对您的对象有意义的操作,而您使用字典的事实仅仅是一个实现细节。

你应该只实现 IDictionary<,>或继承自 Dictionary<,>如果您的类是具有某些特殊特征的通用字典。

关于c# - 接口(interface) vs 内部变量 vs 继承字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7208038/

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