ClrPlus.Scripting.MsBuild.Packaging.ProjectPlus.ConditionRoutes C# (CSharp) Метод

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

private ConditionRoutes ( ) : IEnumerable
Результат IEnumerable
        internal IEnumerable<ToRoute> ConditionRoutes()
        {
            yield return "ItemDefinitionGroup".MapTo<string>(condition => LookupItemDefinitionGroup(condition), ItemDefinitionGroupChildren);
            yield return "CopyToOutput".MapTo<string>(condition => CopyToOutput(condition));
            yield return "EmbedInOutput".MapTo<string>(condition => EmbedInOutput(condition));
            yield return "BuildTimePath".MapTo<string>(condition => BuildTimePath(condition));
            yield return "ImportGroup".MapTo<string>(condition => LookupImportGroup(condition), ImportGroupChildren);
            yield return "ItemGroup".MapTo<string>(condition => LookupItemGroup(condition), ItemGroupChildren);
            yield return "PropertyGroup".MapTo<string>(condition => LookupPropertyGroup(condition), PropertyGroupChildren);

            yield return "Target".MapTo<string, string, ProjectTargetElement>(condition => new DelegateDictionary<string, ProjectTargetElement>(
                () => Targets.Keys,
                key => LookupTarget(key, condition),
                (name, value) => LookupTarget(name, ""),
                key => Targets.Remove(key)
                ), new[] { "$$INDEXED".MapIndexedChildrenTo<ProjectTargetElement>((target, child) => target.GetTargetItem(child)) });

            yield return "".MapTo<string>((condition,view) => {

                return new Accessor(() => {
                    return LookupProperty(  LookupPropertyGroup(condition), view.MemberName).Value;
                }, v => {
                    if (v != null || v != string.Empty) {
                        LookupProperty(LookupPropertyGroup(condition), view.MemberName).Value = v.ToString();
                    }
                });

            }, new[] { "$$INDEXED".MapIndexedChildrenTo<string>((targetName, child) => LookupTarget(child.ParentView.ParentView.MemberName).GetTargetItem(child)) });
        }