void UpdateAssembly(CSProject cs, Assembly a) { FCSProjects[cs] = a; foreach (var kv in FTypeToProject) { if (kv.Value == cs) { var t = a.GetType(kv.Key, false, true); if (t != null) { FMappings[kv.Key] = t; TypeUpdated?.Invoke(this, kv.Key); } } } }
void SyncAssembly(object sender, dynamic e) { if (FVLAss.Count > 0) { lock (lockObj) { for (int i = 0; i < FVLAss.Count - lastSyncLength; i++) { foreach (var t in FVLAss[i].DefinedTypes) { var typestring = t.FullName.ToLower(); if (FMappings.ContainsKey(typestring)) { FMappings[typestring] = t; } TypeUpdated?.Invoke(this, t.FullName.ToLower()); } } lastSyncLength = FVLAss.Count; } } }