Пример #1
0
        protected ProjectItem([NotNull] IProjectBase project, [NotNull] IProjectItemUri uri)
        {
            Project = project;
            Uri     = uri;

            _snapshots = new LockableList <ISnapshot>(this);
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
 private bool Equals([NotNull] IProjectItemUri other) => Guid == other.Guid && string.Equals(FileOrDatabaseName, other.FileOrDatabaseName, StringComparison.OrdinalIgnoreCase);
Пример #4
0
 public virtual T FindQualifiedItem <T>([NotNull] IProjectItemUri uri) where T : class, IProjectItem
 {
     return(UriIndex.FirstOrDefault <T>(uri.ToString()));
 }