c# - 从在其构造函数中接受参数的基类继承的单例类?

标签 c# inheritance parameters singleton

public class BaseFoo
{
    private string param;

    public BaseFoo(string param)
    {
        this.param = param;
    }
}

public sealed class SingletonFoo : BaseFoo
{
    static readonly SingletonFoo instance = new SingletonFoo();

    static SingletonFoo()
    {
    }

    public static SingletonFoo Instance
    {
        get
        {
            return instance;
        }
    }
}

这种继承是否可能,基类需要一个带参数的构造函数? (上面的代码显然不会编译,因为没有参数传递给基类。)

如果是,它是如何完成的?

最佳答案

你需要创建一个实例构造函数,然后引用它:

public sealed class SingletonFoo : BaseFoo
{
    static readonly SingletonFoo instance = new SingletonFoo("Some Value");

    static SingletonFoo()
    {
    }

    private SingletonFoo(string value) : base(value)
    {
    }
    // ...

这将允许您在内联构造函数中声明参数,并在链中调用它。

关于c# - 从在其构造函数中接受参数的基类继承的单例类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1291117/

相关文章:

c++ - 从派生类调用父类的模板函数

c - 为什么在函数中使用字符串参数时退出程序后我的变量损坏(运行时检查失败)

JavaScript 类扩展 : calling base class-function from child-class function : seem to be calling static method

c# - 如何从 IRedisClientsManager 获取低级原始字节 API?

c# - API POST 调用以上传包含 IFormFile 的对象列表

c# - 找出当前用户的用户名-当多个用户登录时

c# - 是否可以继承 XAML?

c# - 将 ref 与列表一起使用以及列表如何保持更新

ios - 我的应用程序中的 Youtube 搜索页面

c# - 尝试使用 C sharp 中的 catch block