BcsResolver.File.BcsFileHandler.CreateComponents C# (CSharp) Метод

CreateComponents() приватный Метод

private CreateComponents ( ) : void
Результат void
        private void CreateComponents()
        {
            var components = DefinitionFile.Entities.Where(e => e.States.SourceText.IsEmptyOrWhitespace() && !e.Composition.SourceText.Contains("."));

            foreach (var component in components)
            {
                var componentNode = new BcsComponentNode()
                {
                    Name = component.Id
                };

                if (!component.Composition.SourceText.IsEmptyOrWhitespace())
                {
                    var componentAgents = component.Composition.SourceText.Split('|').Select(name =>
                    {
                        name = name.Trim();

                        var matchingAgent = DefinitionFile.AtomicAgents.SingleOrDefault(agent => agent.Name == name);
                        if (matchingAgent == null)
                        {
                            componentNode.Errors.Add(new NodeError($"Failed to find matching agent named {name} in the definition file."));
                            var dummyAgent = new BcsAtomicAgentNode() { Name = name };
                            DefinitionFile.AtomicAgents.Add(dummyAgent);
                            return dummyAgent;
                        }
                        return matchingAgent;
                    }).ToList();

                    componentNode.AtomicAgents.AddRange(componentAgents);
                }

                DefinitionFile.Components.Add(componentNode);
            }
        }