static bool Add(Dictionary <System.Type, UseTypeInfo> csharpDelegate, System.Type type, MemberInfo member) { UseTypeInfo info = null; if (!csharpDelegate.TryGetValue(type, out info)) { if (IsDelegate(type)) { info = new UseTypeInfo(); if (member != null) { info.Add(member); } csharpDelegate.Add(type, info); return(true); } return(false); } else { if (member != null) { info.Add(member); } return(true); } }
public void AddUseTypeInfo(string name, string ns) { UseTypeInfo item = default(UseTypeInfo); item.Name = name; item.Namespace = ns; if (this.m_useTypes == null) { this.m_useTypes = new List <UseTypeInfo>(); } this.m_useTypes.Add(item); }
public List <MemberMapping> GetTypeNameElements() { if (this.m_useTypes != null) { List <MemberMapping> list = new List <MemberMapping>(); { foreach (UseTypeInfo useType in this.m_useTypes) { UseTypeInfo current = useType; list.Add(this.Elements[current.Name, current.Namespace]); } return(list); } } return(null); }
static bool Add(System.Type type, MemberInfo mi, Dictionary <System.Type, UseTypeInfo> dic) { // 为模版并且实例化了 if (!IsTemplateInstance(type)) { return(false); } if (IsDelegate(type)) { return(false); } if (IsHotType(type)) { if (type.FullName.StartsWith("System.Collections.Generic.Dictionary`2[[")) { // 为Map类型 var parameter = type.GetGenericArguments(); if (IsHotType(parameter[0]) && IsHotType(parameter[1])) { // 都是热更当中的 return(false); } else { } } else { return(false); } } UseTypeInfo info = null; if (dic.TryGetValue(type, out info)) { info.Add(mi); return(true); } info = new UseTypeInfo(); info.Add(mi); dic.Add(type, info); return(true); }
static void DebugInfo(string suffix, System.Type type, Dictionary <System.Type, UseTypeInfo> infos, System.Text.StringBuilder sb) { sb.Append(suffix); sb.Append("// "); sb.AppendLine(GetClassRealClsName(type)); UseTypeInfo info = null; if (infos.TryGetValue(type, out info)) { if (info.infos.Count == 0) { return; } info.To(sb, suffix); } }