[WebMethod]
public string F1(int n1)
{
if(n1 == null)
return "parameter is NULL";
return "parameter is " + n1.ToString();
}
Вопрос - какого числового типа должен быть параметер, чтоб его можно было сделать логику с проверкой на NULL ?
спасибо
C#. WebMethod. how to make parameter nullable ?
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
- dima
- Житель
- Сообщения: 690
- Зарегистрирован: 19 фев 2003, 19:26
- Откуда: Хабаровск->Toronto
- Azazello
- Житель
- Сообщения: 769
- Зарегистрирован: 16 янв 2007, 04:31
В C++ NULL тождественно равен 0. Соответственно, с NULL можно сравнивать все типы, которые могут иметь нулевое значение - все built-in типы и указатели.
Предполагаю, что в C# это тоже верно.
Edit: Забавно, но это не так
...
Предполагаю, что в C# это тоже верно.
Edit: Забавно, но это не так

По всей видимости,C#: The null keyword is a literal that represents a null reference, one that does not refer to any object. null is the default value of reference-type variables.
Код: Выделить всё
public string Foo( int &frValue )
{
return( string( "parameter is " + ( frValue == null ? "null" : frValue.ToString() ) ) );
}
Последний раз редактировалось Azazello 22 май 2007, 15:04, всего редактировалось 1 раз.
- dima
- Житель
- Сообщения: 690
- Зарегистрирован: 19 фев 2003, 19:26
- Откуда: Хабаровск->Toronto
-
- Частый Гость
- Сообщения: 20
- Зарегистрирован: 09 авг 2006, 21:51
- Откуда: Москва - Ванкувер
- Контактная информация:
используйте int? (nullable int). То есть в Вашем случае, сигнатура метода млжет быть такой:
Атрибут XmlElement на параметре нужен, чтобы vs правильно сгенеряля wsdl для веб-сервиса.
Доступно только во 2-м фреймворке. К сожалению.
Код: Выделить всё
[WebMethod]
public string F1([XmlElement(IsNullable = true)]int? n1)
Доступно только во 2-м фреймворке. К сожалению.
- dima
- Житель
- Сообщения: 690
- Зарегистрирован: 19 фев 2003, 19:26
- Откуда: Хабаровск->Toronto
Код: Выделить всё
[WebMethod]
public string AcceptNull([XmlElement(IsNullable = true)]string s1)
{
if (s1 == null)
return "s1 is NULL";
return "s1 is not null";
}
Компилятор выдает ошибку
'System.Xml.XmlElement' is not an attribute class
Другую framework ставить ?
-
- Маньяк
- Сообщения: 2745
- Зарегистрирован: 15 апр 2003, 18:16
Use System.Xml.Serialization.XmlElementAttributedima писал(а):Visual Studio Help/About говорит, что установлена Microsoft .NET Framework version 2.0.50727Код: Выделить всё
[WebMethod] public string AcceptNull([XmlElement(IsNullable = true)]string s1) { if (s1 == null) return "s1 is NULL"; return "s1 is not null"; }
Компилятор выдает ошибку
'System.Xml.XmlElement' is not an attribute class
Другую framework ставить ?