I have a really crazy behavior within my code:
A Method which calls A()
calls Z()
.
I have an interface IConverterStoreBase
, which provides a method: ConverterBase OrderConverter(ConverterType type)
:
public interface IConverterStoreBase
{
ConverterBase OrderConverter(QDTUtil.ConverterType type);
}
The base class: ConverterStoreBase
, which inherits from IConverterStorBase
:
private ConverterBase OrderConverter(ConverterType TypeOfConverter)
{
ConverterBase theConverter = MakeConverter(TypeOfConverter);
theConverter.MakeConverter();
return theConverter;
}
ConverterBase IConverterStoreBase.OrderConverter(ConverterType type)
{
return OrderConverter(type);
}
The calling class: DrawingProject
, which calls OrderConverter
:
private static ConverterBase GetConverter(IConverterStoreBase CSB)
{
return !DataProvider.ConverterType.Equals(ConverterType.NotSupported) ? CSB.OrderConverter(DataProvider.ConverterType) : null;
}
DataProvider
is a central class, which contains different data structures and variables, which are needed in many and different parts of the code.
Now to the Problem (which first appears with Visual Studio 2017):
While debugging, I fill in data from a CSV, which is processed by the program. When all data is processed, the program is ready to get a converter ready based on that data. This is the step where GetConverter
is called.
First GetConverter
checks if the Projects ConverterType
is supported or not. If it is not, just return null
, else it should call the IConverterStoreBase
's OrderConverter
, but it calls a property from DataProvider
which has nothing to do with this step, it calls :
public static StatusControlBase StatusControlBase { get; set; } = null;
which is an instance to control the status bar. CodeMap and all references show the correct call path.
Maybe something is broken while moving from vs2013 to vs2017.
Any suggestions how to fix this?
edit 1:
Name Language > QDTUtil.dll!QDTUtil.ProjectData.GetValue(string group = "Converter", string value = "Topology") Line 51 C# Symbols loaded. Converter.dll!Converter.GL150.FactoryGL150N.AddOverview.get() Unknown Non-user code. Skipped loading symbols. Converter.dll!Converter.GL150.ConverterGL150N.MakeConverter() Unknown Non-user code. Skipped loading symbols. Converter.dll!Converter.ConverterStoreBase.Converter.IConverterStoreBase.OrderConverter(QDTUtil.ConverterType type) Unknown Non-user code. Skipped loading symbols. QDTFunction.dll!QDTFunction.DrawingProject.GetConverter(Converter.IConverterStoreBase CSB = {Converter.GL150.StoreGL150}) Line 120 C# Symbols loaded. QDTFunction.dll!QDTFunction.DrawingProject.CreateConverter() Line 68 C# Symbols loaded.