T IDebuggable.GetDebugInfo <T>(int patentDepth, int childDepth) { return(new DebugDataConsumer { DependentProviders = ReferenceEquals(DataSupplierDependencies, null) ? null : DataSupplierDependencies.Select(s => new DebugDataProviderDependency { DataProvider = s.Item1.GetDebugInfo <DebugDataProvider>(), Data = s.Item2 == null ? null : new DebugDataScope { DataType = s.Item2.DataType, ScopeName = s.Item2.ScopeName } }).ToList(), DependentSupplies = ReferenceEquals(DataSupplyDependencies, null) ? null : DataSupplyDependencies.Select(s => s.GetDebugInfo <DebugDataSupply>()).ToList(), DependentData = ReferenceEquals(DataDependencies, null) ? null : DataDependencies.Select(s => new DebugDataScope { DataType = s.DataType, ScopeName = s.ScopeName }).ToList() } as T); }
public void HasDependency(IDataSupply dataSupply) { if (DataSupplyDependencies == null) { DataSupplyDependencies = new List <IDataSupply>(); } DataSupplyDependencies.Add(dataSupply); }
public void Add(IDataConsumerNeeds needs) { if (needs.DataSupplierDependencies != null) { DataSupplierDependencies.AddRange(needs.DataSupplierDependencies); } if (needs.DataSupplyDependencies != null) { DataSupplyDependencies.AddRange(needs.DataSupplyDependencies); } if (needs.DataDependencies != null) { DataDependencies.AddRange(needs.DataDependencies); } }
public void Add(IDataSupply supply) { DataSupplyDependencies.Add(supply); }