Re[3]: dynamic - пригождалось ли в вашей практике?
От: VladCore  
Дата: 29.08.19 21:49
Оценка: -1
Здравствуйте, Danchik, Вы писали:

VC>>Здравствуйте, Shmj, Вы писали:


S>>>Хотя бы раз вам помогла возможность писать динамически типизируемый код на C#? Что это был за случай?


VC>>Про Dapper не слышал?


D>Я, например, слышал. Только вот вменяемый способ использования dynamic представить не могу, разве что результат квери сразу в json.


Мда.

public string GetShortVersion(IDbConnection connection, int? commandTimeout)
{
    dynamic row = connection.QueryFirst(@"
Select 
@@MICROSOFTVERSION Ver32Bit, 
SERVERPROPERTY('ProductLevel') Level, 
SERVERPROPERTY('ProductUpdateLevel') UpdateLevel", 
        commandTimeout: commandTimeout);

    int ver32Bit = row.Ver32Bit;
    string level = row.Level;
    string updateLevel = row.UpdateLevel;
    int v1 = ver32Bit >> 24;
    int v2 = ver32Bit >> 16 & 0xFF;
    int v3 = ver32Bit & 0xFFFF;
    var ver = new Version(v1, v2, v3);
    var ret = new StringBuilder(ver.ToString());
    if (!string.IsNullOrEmpty(level) && level != "RTM") ret.Append('-').Append(level);
    if (!string.IsNullOrEmpty(updateLevel)) ret.Append('-').Append(updateLevel);
    return ret.ToString();
}
Отредактировано 29.08.2019 22:07 VladCore . Предыдущая версия . Еще …
Отредактировано 29.08.2019 21:57 VladCore . Предыдущая версия .
Отредактировано 29.08.2019 21:55 VladCore . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.