将数据分配给静态类中的对象

本文关键字:对象 静态类 数据 分配 | 更新日期: 2023-09-27 17:50:58

我有一个静态类,我想有一个SQLConnectionString被构建。

public static class SharedUtilities
{
    public static SqlConnectionStringBuilder connectionString = new SqlConnectionStringBuilder();
    SharedUtilities()
    {
        connectionString.DataSource = "dx2v";
        connectionString.InitialCatalog = "Q619410";
        connectionString.UserID = "tunnelld";
        connectionString.Password = "david";
    }
}

这不起作用,因为你可以在静态类上有构造函数。那么我该怎么做呢?

将数据分配给静态类中的对象

您在构造函数中忘记了static关键字:

static SharedUtilities()

因为您省略了它,它默认为private,这对于静态类是无效的。

参考静态构造函数(MSDN)。

一种方法是使用一个按需构建对象的属性(创建并填写私有支持属性)。

public static class SharedUtilities
{
    private static SqlConnectionStringBuilder connectionString = null;
    public static SqlConnectionStringBuilder ConnectionString
    {
        get
        {
            if (connectionString == null)
            {
                connectionString = new SqlConnectionStringBuilder()
                {
                    DataSource = "dx2v",
                    InitialCatalog = "Q619410",
                    UserID = "tunnelld",
                    Password = "david",
                };
             }
             return connectionString;
         }
    }
}

参考:延迟加载