protected ProjectItem([NotNull] IProjectBase project, [NotNull] IProjectItemUri uri) { Project = project; Uri = uri; _snapshots = new LockableList <ISnapshot>(this); }
protected virtual void Merge([NotNull] IProjectItem newProjectItem, bool overwrite) { _snapshots.Merge(Snapshot, newProjectItem.AdditionalSnapshots, newProjectItem.Snapshot, overwrite); var propertyBag = newProjectItem as ISourcePropertyBag; if (propertyBag != null) { foreach (var pair in propertyBag.PropertyBag) { PropertyDictionary[pair.Key] = propertyBag.PropertyBag[pair.Key]; } } if (overwrite) { Uri = newProjectItem.Uri; } }
private bool Equals([NotNull] IProjectItemUri other) => Guid == other.Guid && string.Equals(FileOrDatabaseName, other.FileOrDatabaseName, StringComparison.OrdinalIgnoreCase);
public virtual T FindQualifiedItem <T>([NotNull] IProjectItemUri uri) where T : class, IProjectItem { return(UriIndex.FirstOrDefault <T>(uri.ToString())); }