コード例 #1
0
 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;
         }
     }
 }
コード例 #2
0
            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);
                }
            }