我已经调试了一段时间了。下面的代码是抽象类的一部分,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();
}
答案 0 :(得分:1)
你能否告诉我们你的代码是否至少有效,即使不可调试?
我想到的第一个想法是你的Initialize方法应该被声明为virtual
。为了进一步帮助您,您应该告诉我们代码是否有效,并提供一些子类代码部分。