对象引用未设置为对象的实例在单例类上

时间:2013-05-24 12:16:35

标签: c# exception singleton

我有一个名为DAL的类,其中包含连接到database的方法。 当我创建一个新项目时,我总是继续Add Existing Item并添加这个类。一直工作!但是现在我导入了我的新项目,我在标题上出现了错误...我希望你们中的一些人可以向我解释。
我知道当该方法返回NULL值时会发生此异常。(可能不是)。

这是我的代码:

#region Singleton
  public sealed class Singleton
    {
       static readonly DAL instance = new DAL(); //HERE IS WHERE THE EXCEPTION OCCURS

       // Explicit static constructor to tell C# compiler
       // not to mark type as beforefieldinit

  public static DAL Instance
    {
       get
          {
             return instance;
          }
     }
}
#endregion  

这就是我称之为本课程的地方。

namespace BD
{
    public class BDAssociado
    {
        private DAL _dal;
        public BDAssociado()
        {
            _dal = DAL.Singleton.Instance;

        }
     }
}  

Dal Constructor:

public DAL()
  {
   _Conexao = new MySqlConnection(ConfigurationManager.ConnectionStrings["NameOfConnectionString"].ConnectionString);
  }

2 个答案:

答案 0 :(得分:2)

在返回之前检查它是否为null

public static DAL Instance
    {
        get
          {
             if (instance == null) 
             {
                 instance = new DAL();
             }
             return instance;
          }
     }

答案 1 :(得分:2)

检查配置文件中是否存在连接字符串密钥。