如何使用静态/单例设计模式来实现这个?

问题描述 投票:0回答:2

我想实现一个配置助手。

用法会是这样的:

var companyName = ConfigHelper.Company.Name;
var redirectURL = ConfigHelper.URLs.DefaultRedirectURL; 

正如您在上面的示例中看到的,我有 ConfigHelper,它不需要实例,但它将由子类(公司和 URL)组成,在这里我想访问属性(而不是方法)。

我希望这一切都可以在不需要任何类实例的情况下完成,并且不确定我是否应该使用静态/单例。

我不需要确切的代码 - 但我想一个示例会很好,而只是寻找正确方向的点。

c# static singleton
2个回答
2
投票
public static class Company
{
    public const string Name = "Company Name";
}

public static class ConfigHelper
{
    public static readonly Company = new Company();
}

1
投票

是的,您走在正确的轨道上,

ConfigHelper
将是一个静态类,属性将只是常规类,但那些是实例。

例如:

public class Company
{

    public string Name { get; set; }

}

public static class ConfigHelper
{

    static ConfigHelper()
    {
        Company = new Company();
    }

    public static Company Company { get; private set; }

}
© www.soinside.com 2019 - 2024. All rights reserved.