Re[2]: Сравнение с null в дженериках
От: _FRED_ Черногория
Дата: 31.05.11 12:59
Оценка:
Здравствуйте, _MarlboroMan_, Вы писали:

SAS>>Есть метод
SAS>>class MyClass<T>
SAS>>{
SAS>>  public void Test( T value )
SAS>>  {
SAS>>    if ( value == null )
SAS>>    {
    
SAS>>    }
SAS>>  }
SAS>>}
SAS>>

SAS>>Нужно выполнить кусок кода только в том случае, когда значение value совпадает с null для reference-типов. Но T может быть и value-типом и ограничить его нельзя по условию. Можно ли как-то выполнить сравнение без боксинга?

_MM_>Equals(value, defaul(T))


Тут результат будет другим — например, в вызове Test(0) у топикстартера if не сработает, а у вас сработает. Да и боксинг всё-равно будет, так как параметры Equals — object.
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.