void OnUpdatedOnDisk(object sender, FileEventArgs e) { foreach (var file in e) { if (file.FileName == FilePath) { var args = new MetadataReferenceUpdatedEventArgs(this); SnapshotUpdated?.Invoke(this, args); return; } } }
void OnMetadataReferenceUpdated(object sender, MetadataReferenceUpdatedEventArgs args) { var reference = (MonoDevelopMetadataReference)sender; // If we didn't contain the reference, bail if (!workspaceRef.TryGetTarget(out var workspace)) { return; } lock (metadataReferences) { if (!RemoveMetadataReference_NoLock(reference, workspace)) { return; } workspace.OnMetadataReferenceRemoved(projectId, args.OldSnapshot); AddMetadataReference_NoLock(reference, workspace); workspace.OnMetadataReferenceAdded(projectId, args.NewSnapshot.Value); } }