2011-02-02 104 views
0

我一直在調試程序一段時間。下面的代碼是抽象類的一部分,this.initialize()是一個被子類覆蓋的抽象方法。在更改子類中的Initizalize後,調試時出現錯誤「無源代碼可用於當前位置」。該方法彈出對話框,所以我懷疑這是問題的原因。有任何想法嗎?調試錯誤:「沒有源代碼可用於當前位置」

public ExternalSystemAdapterClass(ArchiveServiceConfigurationHandler archiveServiceConfigurationHandler, SystemType adapterConfiguration) 
     { 
      // Init configs... 
      this.archiveServiceConfigurationHandler = archiveServiceConfigurationHandler; 
      this.adapterConfiguration = adapterConfiguration; 
      this.dbProviderFactory = DalFactory.GetFactory(this.adapterConfiguration); 

      sqlDalExternal = new SqlCommonDAL(this.adapterConfiguration.DatabaseInformation.ExternalDatabaseInformation.connectionString, this.dbProviderFactory); 

      // Init validations... 
      this.metaDataValidationsSP = new Collection<MetaDataValidationType>(); 
      this.metaDataValidationsBL = new Collection<MetaDataValidationType>(); 
      this.InitializeMetaDataValidations(); 

      // Init (clean up unfinished jobs etc.) 
      this.Initialize(); // DEBUG ERROR: "No Source Code Available for the Current Location" 

      // Init data retrieval... 
      this.dataResponseQueue = new Queue<ExternalSystemDataResponse>(); 
      this.alreadyProcessedDataTable = new DataTable(); 
      this.doRun = true; 
      this.externalDataRetrievalThread = new Thread(ExternalDataRetrievalThreadMethod); 
      this.externalDataRetrievalThread.Start(); 
     } 

回答

1

你能告訴我們,如果你的代碼至少工作,即使不可調試?

我想到的第一個想法是你的Initialize方法應該被聲明爲virtual。爲了進一步幫助你,你應該告訴我們代碼是否正常工作,並給出一些子類代碼部分。

+0

謝謝你的努力。我試着建立一個乾淨的解決方案,問題就消失了。 – 2011-02-07 11:57:01

相關問題