public new void Add(string key, string value) { var lastIdx = GetLastIdx(); var hasQuotes = key != "Guid" && key != "ComVisible"; var asmItem = new AsmItem() { LineIdx = lastIdx + 1, IsAssemblyItem = true, Key = key, Value = value, ValueHasQuotes = hasQuotes }; if (lastIdx < dic.Count - 1) { dic.Insert(lastIdx, asmItem); } else { dic.Add(asmItem); } base.Add(key, value); }
private AsmItem ParseAssemblyLine(string line, int idx) { if (!line.TrimStart().StartsWith("//") && line.Contains("[assembly:")) { //var key = var regex = Regex.Match(line, AsmLineRegex); if (regex.Success) { var asm = regex.Groups[1].Value; var key = regex.Groups[2].Value.Trim(); var bracketedVal = regex.Groups[3].Value.Trim(new char[] { '(', ')' }); var hasQuotes = bracketedVal[0].Equals('"') && bracketedVal.EndsWith("\""); AsmItem item = new AsmItem() { Key = key, ValueHasQuotes = hasQuotes, Value = bracketedVal.Trim(new[] { '"' }), LineIdx = idx, IsAssemblyItem = true }; return(item); } else { return(new AsmItem() { LineIdx = idx, Line = line }); } } return(new AsmItem() { LineIdx = idx, Line = line }); }