Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Запретить передачу null вместо объектов


Автор: Bogdan1024 3.8.2007, 12:43
Есть функции:
Код

void f1(int i) {....};
void f2(object o) {...}

Вызываем их так:
Код

f1(null);
f2(null);

На вызов функции f1 компилятор ругается, а о том что я не хотел чтобы пользователь передавал значение null второй функции программа узнает только в рантайме. Как можно сделать так чтобы компилятор ругался на вызов f2?

Автор: SpaceSpace 3.8.2007, 13:06
Никак. ибо object - царь и отец всех классов.
Если у тебя тип определен - используй типизированные методы, Generic 
<T>
, тогда при компиляции если ты в <int> будешь пытаться засунуть что-нить другое - компилер сильно матюгнется

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)