Exemple #1
0
 /// <inheritdoc/>
 public override int GetHashCode()
 {
     unchecked
     {
         int result = base.GetHashCode();
         if (InterfaceUri != null)
         {
             result = (result * 397) ^ InterfaceUri.GetHashCode();
         }
         if (Name != null)
         {
             result = (result * 397) ^ Name.GetHashCode();
         }
         result = (result * 397) ^ AutoUpdate.GetHashCode();
         if (Requirements != null)
         {
             result = (result * 397) ^ Requirements.GetHashCode();
         }
         result = (result * 397) ^ CapabilityLists.GetSequencedHashCode();
         if (AccessPoints != null)
         {
             result = (result * 397) ^ AccessPoints.GetHashCode();
         }
         return(result);
     }
 }
Exemple #2
0
 /// <inheritdoc/>
 public override int GetHashCode()
 {
     unchecked
     {
         int result = base.GetHashCode();
         result = (result * 397) ^ InterfaceUri?.GetHashCode() ?? 0;
         result = (result * 397) ^ Name?.GetHashCode() ?? 0;
         result = (result * 397) ^ AutoUpdate.GetHashCode();
         result = (result * 397) ^ Requirements?.GetHashCode() ?? 0;
         result = (result * 397) ^ CapabilityLists.GetUnsequencedHashCode();
         result = (result * 397) ^ AccessPoints?.GetHashCode() ?? 0;
         return(result);
     }
 }
Exemple #3
0
        /// <summary>
        /// Creates a deep copy of this <see cref="AppEntry"/> instance.
        /// </summary>
        /// <returns>The new copy of the <see cref="AppEntry"/>.</returns>
        public AppEntry Clone()
        {
            var appList = new AppEntry {
                UnknownAttributes = UnknownAttributes, UnknownElements = UnknownElements, Name = Name, InterfaceUri = InterfaceUri
            };

            if (Requirements != null)
            {
                appList.Requirements = Requirements.Clone();
            }
            if (AccessPoints != null)
            {
                appList.AccessPoints = AccessPoints.Clone();
            }
            appList.CapabilityLists.AddRange(CapabilityLists.CloneElements());

            return(appList);
        }
Exemple #4
0
        public T LookupCapability <T>([NotNull] string id) where T : Capability
        {
            #region Sanity checks
            if (string.IsNullOrEmpty(id))
            {
                throw new ArgumentNullException(nameof(id));
            }
            #endregion

            try
            {
                return(CapabilityLists.CompatibleCapabilities().OfType <T>()
                       .First(specificCapability => specificCapability.ID == id));
            }
            #region Error handling
            catch (InvalidOperationException)
            {
                throw new KeyNotFoundException(string.Format(Resources.UnableToFindTypeID, typeof(T).Name, id));
            }
            #endregion
        }
Exemple #5
0
 /// <inheritdoc/>
 public bool Equals(AppEntry other)
 {
     if (other == null)
     {
         return(false);
     }
     if (!base.Equals(other))
     {
         return(false);
     }
     if (InterfaceUri != other.InterfaceUri)
     {
         return(false);
     }
     if (Name != other.Name)
     {
         return(false);
     }
     if (AutoUpdate != other.AutoUpdate)
     {
         return(false);
     }
     if (!Equals(Requirements, other.Requirements))
     {
         return(false);
     }
     if (!CapabilityLists.SequencedEquals(other.CapabilityLists))
     {
         return(false);
     }
     if (!Equals(AccessPoints, other.AccessPoints))
     {
         return(false);
     }
     return(true);
 }