MySQL Type for Storing a Year: Smallint или Varchar или дата?

Вам нужно использовать отражение, чтобы начать использовать метод, а затем «построить» его, предоставив аргументы типа MakeGenericMethod :

MethodInfo method = typeof(Sample).GetMethod("GenericMethod");
MethodInfo generic = method.MakeGenericMethod(myType);
generic.Invoke(this, null);

. Для статического метода, pass null в качестве первого аргумента Invoke. Это не имеет никакого отношения к универсальным методам - ​​это просто нормальное отражение.

Как уже отмечалось, многое из этого проще с C # 4 с использованием dynamic - если вы можете использовать вывод типа, конечно. Это не помогает в случаях, когда вывод типа недоступен, например, точный пример в вопросе.

17
задан Jeremy L 4 March 2009 в 15:37
поделиться

3 ответа

Я пошел бы для маленького интервала - насколько я знаю - varchar, занял бы больше места, а также даты. вторая опция была бы датой.

13
ответ дан 30 November 2019 в 10:46
поделиться

Мой собственный опыт с Oracle, которая не имеет типа данных ГОДА, но я всегда старался не использовать типы числовых данных для элементов просто, потому что они состоятся только цифр. (Таким образом, это включает номера телефона, номера социального страхования, почтовые индексы также, как дополнительные примеры).

Мое собственное эмпирическое правило состоит в том, чтобы рассмотреть то, для чего используются данные. Если Вы выполните, математические операции на нем тогда хранят его как число. Если Вы выполните строковые функции (например, "Берут последние четыре символа SSN", или "Отображают номер телефона как (XXX) XXX-XXXX"), тогда, это - строка.

дополнительная подсказка является требованием для хранения продвижения, обнуляет как часть числа.

, Кроме того, и несмотря на упоминание обычно как телефонное "число", они часто содержат буквы для указания на присутствие добавочного номера как суффикс. Точно так же Стандартное Книжное Число, потенциально законченное в "X" как "контрольный разряд" и Порядковый номер Международного стандарта, может закончиться "X" (несмотря на Международный Центр ISSN, неоднократно называющий его 8-разрядным кодом http://www.issn.org/understanding-the-issn/what-is-an-issn/ ).

Форматирование номеров телефона в международном контексте хитро, или курс, и соответствующий E.164 требует, чтобы коды вызова страны были снабжены префиксом "+".

7
ответ дан 30 November 2019 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: