Подарки от программис'тов
Ну и вишенка - этот GUID существует в базовом классе в виде... строки! При инициализации создаётся новый идентификатор через Guid.NewGuid(), что возвращает структуру типа Guid, и тут же переводится в строку через ToString. Т.е. не по месту где надо конвертиться в строку, а изначально гуляет по приложению в виде строки. Ну и потом ещё с ним манипуляции проводят, типа дополняют эту строку разными символами. Т.е. это уже не Guid, а хрень собачья - назад в Guid не сконвертишь. Но есть финт ушами - в одном месте есть метод GetUID, который проверяет строку на магическое число 36 (всё без комментариев, напомню). И если строка больше 36, то метод берёт подстроку в 36 символов.
Правда, нашёл ещё метод, который конкатинирует эти GUIDы в одну строку. Там создаётся локальная переменная szId и ей присваивается результат конкатенации. В принципе, пофиг, т.к. переменная существует лишь в этом методе, и можно назвать её хоть "абракадабра", и за пределами этого метода можно об этой бессмысленной переменной забыть. Но мне просто интересно, что может означать название "szId"? Комментов нигде ни строчки нет. Там человек ещё местами вкорячивает вперемешку немецкий с английским в названиях переменных. Но вот просто любопытно - если сконкатинировать два гуида, то почему получается szId?