ClrPlus.Scripting.MsBuild.Utility.MsBuildMap.LookupMetadataList C# (CSharp) Method

LookupMetadataList() static private method

static private LookupMetadataList ( this pide, string metadataName, string defaultValue = null ) : StringPropertyList
pide this
metadataName string
defaultValue string
return StringPropertyList
        internal static StringPropertyList LookupMetadataList(this ProjectItemDefinitionElement pide, string metadataName, string defaultValue = null)
        {
            foreach (var m in pide.Metadata.Where(metadata => metadata.Name == metadataName)) {
                var metadata = m;
                return _stringPropertyList.GetOrAdd(metadata, () => _stringPropertyList.AddOrSet(metadata, new StringPropertyList(() => metadata.Value, v => metadata.Value = v)));
            }
            var n = pide.AddMetadata(metadataName, defaultValue ?? "");
            return _stringPropertyList.GetOrAdd(n, () => _stringPropertyList.AddOrSet(n, new StringPropertyList(() => n.Value, v => n.Value = v)));
        }