2011-02-02 103 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

相关问题