0

我正在创建一个 WCF 服务(.NET 4.0/c#)...我在项目中添加了一个新类,我试图像这样实例化它:

  MyNewClass inst = new MyNewClass();

...但我在该行收到了著名的“对象引用未设置对象的实例”消息。

我可能做错了什么?

编辑:

这是课程:

using System;
using bla, bla, blah...

public class MyNewClass
{
  private string cnn1 = ConfigurationManager.ConnectionStrings["connection_string_1"].ConnectionString;
  private string cnn2 = ConfigurationManager.ConnectionStrings["connection_string_2"].ConnectionString;

  public string Conn(string s)
  {
    string cnn = string.Empty;

    switch (s)
    {
      case "Server1":
        cnn = cnn1;
        break;
      case "Server2":
        cnn = cnn2;
        break;
    }

    return cnn;

  }

}
4

1 回答 1

1

您应该传入一个配置对象,而不是调用 ConfigurationManager。这将允许您使用 appconfig / webconfig 的类独立。

例如,也许

public MyClass(string conn1, string conn2)
{...}

或者至少在访问属性之前检查 null,

例如,将其更改为在构造函数中

private string cnn1;

public MyClass()
{
    if (ConfigurationManager.ConnectionStrings["connection_string_1"] != null)
    cnn1 = ConfigurationManager.ConnectionStrings["connection_string_1"].ConnectionString;
}
于 2012-09-18T16:46:50.147 回答