Beispiel #1
0
        public static ProjectStructureItem Build(CompositeSaxEvent saxEvent, IReadOnlyCollection <SaxEvent> descendants)
        {
            var endElementEvents = descendants?.OfType <EndElementEvent>()
                                   .ToArray();

            return(saxEvent.Switch <CompositeSaxEvent, ProjectStructureItem>()
                   .Case(IsReference, x => HandleReference(x, endElementEvents))
                   .Case(IsProjectReference, x => HandleProjectReference(x, endElementEvents))
                   .Case(IsAssemblyName, x => HandleAssemblyName(x, descendants))
                   .Case(IsOutputType, x => HandleOutputType(x, descendants))
                   .Case(x => IsAppConfig(x, descendants), x => HandleAppConfig(x, descendants))
                   .Case(x => IsPackagesConfig(x, descendants), x => HandlePackagesConfig(x, descendants))
                   .Evaluate());
        }
        public static IEnumerable <ProjectStructureItem> Build(CompositeSaxEvent saxEvent, IReadOnlyCollection <SaxEvent> descendants)
        {
            var endElementEvents = descendants?.OfType <EndElementEvent>()
                                   .ToArray();

            return(saxEvent.Switch <CompositeSaxEvent, ProjectStructureItem>()
                   .Case(IsReference, x => HandleReference(x, endElementEvents))
                   .Case(IsProjectReference, x => HandleProjectReference(x, endElementEvents))
                   .Case(IsAssemblyName, x => HandleAssemblyName(x, descendants))
                   .Case(IsOutputType, x => HandleOutputType(x, descendants))
                   .Case(x => IsAppConfig(x, descendants), x => HandleAppConfig(x, descendants))
                   .Case(x => IsPackagesConfig(x, descendants), x => HandlePackagesConfig(x, descendants))
                   .Case(IsTargetFrameworkVersion, x => HandleTargetFrameworkVersion(x, descendants))
                   .Case(IsCompolible, x => HandleCompilable(x, endElementEvents))
                   .EvaluateAll());
        }