Как реализован struct HashCode? . (кстати, то же самое относится и к Path.Join ...)
new HashCode.Add(T value)
new HashCode().ToHashCode()
HashCode.Combine(T1 value1, T2 value2, etc.)
Плохой результат декомпиляции от resharper:
public partial struct HashCode
{
private int _dummyPrimitive;
public void Add<T>(T value) { }
public void Add<T>(T value, System.Collections.Generic.IEqualityComparer<T> comparer) { }
public static int Combine<T1>(T1 value1) { throw null; }
public static int Combine<T1, T2>(T1 value1, T2 value2) { throw null; }
public static int Combine<T1, T2, T3>(T1 value1, T2 value2, T3 value3) { throw null; }
public static int Combine<T1, T2, T3, T4>(T1 value1, T2 value2, T3 value3, T4 value4) { throw null; }
public static int Combine<T1, T2, T3, T4, T5>(T1 value1, T2 value2, T3 value3, T4 value4, T5 value5) { throw null; }
public static int Combine<T1, T2, T3, T4, T5, T6>(T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6) { throw null; }
public static int Combine<T1, T2, T3, T4, T5, T6, T7>(T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7) { throw null; }
public static int Combine<T1, T2, T3, T4, T5, T6, T7, T8>(T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8) { throw null; }
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.ObsoleteAttribute("HashCode is a mutable struct and should not be compared with other HashCodes.", true)]
public override bool Equals(object obj) { throw null; }
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.ObsoleteAttribute("HashCode is a mutable struct and should not be compared with other HashCodes. Use ToHashCode to retrieve the computed hash code.", true)]
public override int GetHashCode() { throw null; }
public int ToHashCode() { throw null; }
}