gpt4 book ai didi

c# - 为什么静态类不能实现接口(interface)?

转载 作者:IT王子 更新时间:2023-10-29 03:37:11 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Why Doesn’t C# Allow Static Methods to Implement an Interface?

在我的应用程序中,我想使用一个将执行原始数据访问的存储库(TestRepositorySqlRepositoryFlatFileRepository 等)。因为这样的存储库将在我的应用程序的整个运行时使用,所以对我来说将其设为静态类似乎是明智的,这样我就可以去

SqlRepository.GetTheThingById(5);

无需一直重新生成它。因为我希望我的存储库可以互换,所以我希望它们实现一个通用接口(interface):IRepository。但是当我尝试这样做时,我得到:

Static classes cannot implement interfaces

为什么他们不能?那你建议我如何改变我的设计?有我可以使用的模式吗?

更新
五年后:这个问题被访问了 20k+ 次,我了解了存储库模式的缺点,了解了 IoC 并意识到我的问题表述不当。

我并不是真的在问接口(interface)的 C# 规范是什么,而是为什么它故意以这种特定方式限制我。

实际的答案是在实例或类型上调用方法的语法是不同的。但问题已经结束。

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