Конструкция override мне понятна. Просто сам алгоритм перебирает строку (ключ) побайтово. Как мне обратиться к строке, которая вызывает метод GetHashCode, чтобы прочитать ее?
В этом случае метод переопределится для самого класса, т.е. Test.GetHashCode() вызовет переопределенный хэш, а если вызвать Name.GetHashCode(), то будет вызван String.GetHashCode()