2014-07-11 33 views
1

我是新的C#和我不能確定爲什麼這單例模式被扔System.TypeIntializationException:Singleton類拋出System.TypeInitializationException

這裏是視圖模型設置爲ProductRepository單參考:

private void BindingChartView_Load(object sender, EventArgs e) 
{ 
    // Call the method that creates a DataSet 
    ProductRepository taskRepo = this.SetupData(); 
} 

這裏是ProductRepository單是如何定義的:

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(); 
     } 
    } 
} 

編輯:這裏是我的設置()方法。 InitializeRepos()全部註釋掉。

private ProductRepository SetupData() 
    { 

     taskRepo = ProductRepository.Instance; 
     return taskRepo;    
    } 

基本上,在taskRepo的手錶是什麼我展示例外,它說,它是由Chart.Model.ProductRepository.Instance拋出。

+0

你還沒有給我們足夠的信息去關閉。問題是在'SetupData()'或'InitializeRepos()'中。請發佈這些方法和堆棧跟蹤。 – TyCobb

+0

請顯示InitializeRepos()方法和setupdata()。 – terrybozzio

+0

上面編輯的原始文章。 –

回答

1

我很抱歉,我發現問題是在私有構造函數中,在InitializeRepos()之後引用第三方dll的類。我已經在這裏解析它來簡化,但它原來是罪魁禍首。

相關問題