gpt4 book ai didi

c# - 契约(Contract)的不同属性(property)值(value)

转载 作者:太空狗 更新时间:2023-10-30 00:48:25 25 4
gpt4 key购买 nike

我有两个接口(interface)由一个主类实现。我如何重构我的代码,以便在实现每个契约(Contract)时,每个契约(Contract)的方法对参数(例如 DatabaseName)具有不同的值。

示例:

  1. Class1 实现接口(interface) 1、接口(interface) 2
  2. Interface1.GetData() 将 DatabaseName 设置为数据库 1
  3. Interface2.GetData() 将 DatabaseName 设置为数据库 2

我可以在方法 GetData() 中配置这些值,但我想要一种更简洁的方法。

任何模式推荐是 DI、域驱动,甚至是完成上述的基本继承示例都是我正在寻找的。

最佳答案

听起来您只需要 explicit interface implementation :

public class Class1 : Interface1, Interface2
{
// Note the lack of access modifier here. That's important!
Data Interface1.GetData()
{
// Implementation for Interface1
}

Data Interface2.GetData()
{
// Implementation for Interface2
}
}

显然这两个方法可以调用一个带有指定数据库名称或类似参数的公共(public)方法。

关于c# - 契约(Contract)的不同属性(property)值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46843466/

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