У меня возникают трудности с соблюдением всех правил для метода GetHashCode в MSDN для класса, единственным свойством которого является строка подключения.
Я попытался просто вернуть хэш строки, но это возвращает другое значение для строк Provider=Microsoft.ACE.OLEDB.12.0; Data Source=path
, Provider=Microsoft.ACE.OLEDB.12.0; Data Source=path;
и Data Source=path;Provider=Microsoft.ACE.OLEDB.12.0;
, все из которых эквивалентны.
Затем я попытался использовать метод OleDbConnectionStringBuilder.GetHashCode
, но в этом случае он даже не возвращает тот же HashCode:
test1.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" +
PathToExcelFile + ";Extended Properties='Excel 12.0 Macro;HDR=YES;IMEX=1';";
test2.ConnectionString = test1.ConnectionString;
Console.WriteLine(test1.GetHashCode());
Console.WriteLine(test2.GetHashCode());
Моя цель - использовать мой класс в качестве ключа к словарю, поэтому GetHashCode очень важен. Как мне его реализовать?