示例#1
0
        public void Load <TObject>(TObject objectToLoad) where TObject : class, ILazyLoadable
        {
            if (objectToLoad == null || objectToLoad.IsLoaded)
            {
                return;
            }

            if (objectToLoad.IsAnImplementationOf <ISimulationComparison>())
            {
                _simulationComparisonContentLoader.LoadContentFor(objectToLoad.DowncastTo <ISimulationComparison>());
            }

            else if (objectToLoad.IsAnImplementationOf <ParameterIdentification>())
            {
                _parameterIdentificationContentLoader.LoadContentFor(objectToLoad.DowncastTo <ParameterIdentification>());
            }

            else if (objectToLoad.IsAnImplementationOf <SensitivityAnalysis>())
            {
                _sensitivityAnalysisContentLoader.LoadContentFor(objectToLoad.DowncastTo <SensitivityAnalysis>());
            }

            else if (objectToLoad.IsAnImplementationOf <IObjectBase>())
            {
                loadObjectBase(objectToLoad as IObjectBase);
            }

            else
            {
                return;
            }

            objectToLoad.IsLoaded = true;
        }