【问题标题】:Project Settings and Not set to an instance error项目设置和未设置为实例错误
【发布时间】:2009-05-27 18:00:08
【问题描述】:

我希望有人能帮助我指出正确的方向。我的 Settings.Designer.cs 文件出现 StackOverFlow 错误。我根据这篇文章手动重新生成了文件HERE 现在我的设计器文件看起来应该是这样,所以他们告诉我,但是在我的类库(30 个位置)中访问设置文件的任何地方现在都会抛出一个Object reference is required error

这对其他人来说是显而易见的吗?我做错了什么或者我需要做什么来解决这个问题?下面分别是我的 Settings.Designer.cs 文件和类库示例的样子。

 public string CMOSQLConn {
        get {
            return ((string)(this["CMOSQLConn"]));
        }
    }

 public class SupportWorker
{
    public DataSet RetrieveSupportWorkers()
    {
        DataSet ds = new DataSet("table");
        SqlConnection cnn = new SqlConnection(Settings.CMOSQLConn);
        SqlCommand cmd = new SqlCommand("spSelectSupportWorkers", cnn) {CommandType = CommandType.StoredProcedure};
        SqlDataAdapter da = new SqlDataAdapter(cmd);

编辑 1

我将发布此内容,希望如果它明显错误并且似乎是正确的,有人会指出它。

我将所有 --> SqlConnection cnn = new SqlConnection(Settings.CMOSQLConn); 实例替换为以下 -->SqlConnection cnn = new SqlConnection(Settings.Default.CMOSQLConn);

我不知道为什么它会起作用,但是....

【问题讨论】:

    标签: c# .net class-library


    【解决方案1】:

    设置类中的所有属性都是实例属性。为了使用它们,您需要一个 Settings 类的实例。执行此操作的标准方法是访问 Settings 类上的静态 Default 属性,该属性返回 Settings 的实例。从那里您可以访问各个属性。

    如果它之前没有使用 Default 就可以正常工作...那就是大错特错了。

    【讨论】:

    • 感谢您花时间解释它。我很感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多