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); } }
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); }