Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Singleton类引发System.TypeInitializationException异常_C#_Singleton - Fatal编程技术网

C# Singleton类引发System.TypeInitializationException异常

C# Singleton类引发System.TypeInitializationException异常,c#,singleton,C#,Singleton,我是C#新手,我不确定为什么这个单例模式会抛出System.TypeInitializationException: 以下是ViewModel设置对ProductRepository单例的引用: private void BindingChartView_Load(object sender, EventArgs e) { // Call the method that creates a DataSet ProductRepository taskRepo = this.Set

我是C#新手,我不确定为什么这个单例模式会抛出System.TypeInitializationException:

以下是ViewModel设置对ProductRepository单例的引用:

private void BindingChartView_Load(object sender, EventArgs e)
{
    // Call the method that creates a DataSet
    ProductRepository taskRepo = this.SetupData();
}
以下是ProductRepository singleton的定义方式:

namespace Chart.Model
{
   public class ProductRepository
   {
      private static readonly ProductRepository instance;
      public static ProductRepository Instance
      {
         get { return instance; }
      }
      static ProductRepository()
      {
         instance = new ProductRepository();
      }

      private ProductRepository()
      {
         InitializeRepos();
      }
   }
}
编辑:下面是我对Setup()方法的介绍。InitializeRepos()已全部注释掉

    private ProductRepository SetupData()
    {

        taskRepo = ProductRepository.Instance;
        return taskRepo;              
    }

基本上,taskRepo上的一块手表就是向我显示异常的地方,它说它是由Chart.Model.ProductRepository.Instance抛出的

很抱歉,我发现问题是在InitializeRepos()之后,在私有构造函数中引用了第三方dll的类。我在这里对它进行了分析以简化,但结果证明它是罪魁祸首

你没有给我们提供足够的信息让我们离开。问题可能出现在
SetupData()
InitializeRepos()
中。请发布这些方法和堆栈跟踪。请显示InitializeRepos()方法和setupdata()。原始发布已在上面编辑。