C# 如何设计一个接受配置以覆盖默认设置的接口?

C# 如何设计一个接受配置以覆盖默认设置的接口?,c#,interface,C#,Interface,假设我有一个C#接口,例如: public interface IDatabaseRepository { void Load<T>(IEnumerable<T> data); } 公共接口IDatabaseRepository{ 空隙荷载(IEnumerable data); } 现在我有一个具体的类: public class SQLRepository { private string _tableName; public

假设我有一个C#接口,例如:

public interface IDatabaseRepository {

    void Load<T>(IEnumerable<T> data);

}
公共接口IDatabaseRepository{
空隙荷载(IEnumerable data);
}
现在我有一个具体的类:

public class SQLRepository {
    
    private string _tableName;

    public SQLRepository(string tableName) {
        _tableName = tableName;
    }

    public void Load<T>(IEnumerable<T> data) { }

}
公共类SQLRepository{
私有字符串_tableName;
公共SQLRepository(字符串表名){
_tableName=tableName;
}
公共无效负载(IEnumerable数据){}
}
假设我想要支持一个与构造函数中提供的不同的表名。 或支持,例如,某种可以覆盖默认设置的配置数据结构

我该怎么做呢


它可以在不公开接口的实现细节的情况下进行设计吗?

您是否拥有不公开加载此方法的SQLRepository?我对依赖项反转和接口的理解是创建一个合同,其中在构建时提供任何特定于实现的设置。如果我想在使用中更改这些设置,该怎么办?在上面的例子中,这就是表名。我真的不明白你的意思,你只是将SQLRepository强制转换为IDatabaseRepository,对于其他类,就使用它,为什么你关心特定的设置。