public RegistryPath(RegistryView view, string path, RegistryValueKind valueKind, string valueName, object value) { View = view; Path = path; IsKey = false; ValueKind = valueKind; ValueName = valueName; Value = value; if (value != null) { HashValue = (view.GetHashCode() ^ path.GetHashCode() ^ valueKind.GetHashCode() ^ valueName.GetHashCode() ^ value.GetHashCode()).GetHashCode(); } else { HashValue = (view.GetHashCode() ^ path.GetHashCode() ^ valueKind.GetHashCode() ^ valueName.GetHashCode()).GetHashCode(); } }