private static string GetKey(ClrTag tag, string name) { if (tag._name != null) { return(string.Concat(tag._name, '.', name)); } return(name); }
private ClrTag(ClrTag parent, string name) { _name = GetKey(parent, name); _list = new List <string>(parent._list.Count + 1); _list.AddRange(parent._list); _list.Add(name); _type = null; }
public object this[string name] { get { ClrTag tag; string key = GetKey(this, name); if (_static.TryGetValue(key, out tag)) { return(tag); } tag = new ClrTag(this, name); _static[key] = tag; return(tag); } }