ClrPlus.Scripting.MsBuild.Utility.MsBuildMap.MapEnum C# (CSharp) Метод

MapEnum() статический приватный Метод

static private MapEnum ( this name ) : ToRoute
name this
Результат ToRoute
        internal static ToRoute MapEnum(this string name, params string[] values)
        {
            return name.MapTo<ProjectItemDefinitionElement>(pide => {
                foreach(var m in pide.Metadata) {
                    var metadata = m;
                    if(metadata.Name == name) {
                        return new Accessor(() => metadata.Value, (v) => {
                            string val = v.ToString();
                            if (val != null) {
                                // allow them to set it to a propert value...
                                if (val.IndexOf("$(") > -1 || values.Contains(val)) {
                                    metadata.Value = val;
                                }
                            }
                        });
                    }
                }
                var n = pide.AddMetadata(name, "");
                return new Accessor(() => n.Value, (v) => {
                    string val = v.ToString();
                    if (val.IndexOf("$(") > -1 || values.Contains(val)) {
                        n.Value = val;
                    }
                });
            });
        }