12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #if UNMANAGED
- namespace SevenZip
- {
- /// <summary>
- /// Archive property struct.
- /// </summary>
- public struct ArchiveProperty
- {
- /// <summary>
- /// Gets the name of the archive property.
- /// </summary>
- public string Name { get; internal set; }
- /// <summary>
- /// Gets the value of the archive property.
- /// </summary>
- public object Value { get; internal set; }
- /// <summary>
- /// Determines whether the specified System.Object is equal to the current ArchiveProperty.
- /// </summary>
- /// <param name="obj">The System.Object to compare with the current ArchiveProperty.</param>
- /// <returns>true if the specified System.Object is equal to the current ArchiveProperty; otherwise, false.</returns>
- public override bool Equals(object obj)
- {
- return (obj is ArchiveProperty property) && Equals(property);
- }
- /// <summary>
- /// Determines whether the specified ArchiveProperty is equal to the current ArchiveProperty.
- /// </summary>
- /// <param name="afi">The ArchiveProperty to compare with the current ArchiveProperty.</param>
- /// <returns>true if the specified ArchiveProperty is equal to the current ArchiveProperty; otherwise, false.</returns>
- public bool Equals(ArchiveProperty afi)
- {
- return afi.Name == Name && afi.Value == Value;
- }
- /// <summary>
- /// Serves as a hash function for a particular type.
- /// </summary>
- /// <returns> A hash code for the current ArchiveProperty.</returns>
- public override int GetHashCode()
- {
- return Name.GetHashCode() ^ Value.GetHashCode();
- }
- /// <summary>
- /// Returns a System.String that represents the current ArchiveProperty.
- /// </summary>
- /// <returns>A System.String that represents the current ArchiveProperty.</returns>
- public override string ToString()
- {
- return Name + " = " + Value;
- }
- /// <summary>
- /// Determines whether the specified ArchiveProperty instances are considered equal.
- /// </summary>
- /// <param name="afi1">The first ArchiveProperty to compare.</param>
- /// <param name="afi2">The second ArchiveProperty to compare.</param>
- /// <returns>true if the specified ArchiveProperty instances are considered equal; otherwise, false.</returns>
- public static bool operator ==(ArchiveProperty afi1, ArchiveProperty afi2)
- {
- return afi1.Equals(afi2);
- }
- /// <summary>
- /// Determines whether the specified ArchiveProperty instances are not considered equal.
- /// </summary>
- /// <param name="afi1">The first ArchiveProperty to compare.</param>
- /// <param name="afi2">The second ArchiveProperty to compare.</param>
- /// <returns>true if the specified ArchiveProperty instances are not considered equal; otherwise, false.</returns>
- public static bool operator !=(ArchiveProperty afi1, ArchiveProperty afi2)
- {
- return !afi1.Equals(afi2);
- }
- }
- }
- #endif
|