Использование обнуляемых типов в публичных API - PullRequest
6 голосов
/ 04 августа 2009

У меня есть метод в DAL, как:

public bool GetSomeValue(int? a, int?b, int c)
{
   //check a Stored Proc in DB and return true or false based on values of a, b and c
}

В этом методе я передаю два обнуляемых типа, потому что эти значения могут быть нулевыми (и проверять их как нулевые в DB Stored Proc). Я не хочу использовать магические числа, так что это нормально, передавая такие типы, которые можно обнулять (с точки зрения производительности и гибкости архитектуры)?

Ответы [ 3 ]

2 голосов
/ 04 августа 2009

Я думаю, что это совершенно правильно - я предпочитаю обнуляемые типы магическим значениям.

1 голос
/ 04 августа 2009

Поскольку обнуляемые типы являются частью библиотеки базовых классов и не связаны с каким-либо конкретным языком, я считаю, что это совершенно правильно. Единственное, от чего я пытаюсь держаться подальше в общедоступных API-интерфейсах, - это конструкции, зависящие от языка.

0 голосов
/ 04 августа 2009

Я думаю, что если вы в порядке, используя Collections или Collections.Generic объекты, то вы должны чувствовать себя совершенно оправданным, используя Nullable<T>.

.NET языки строго типизированы, поэтому я думаю, что следует ожидать типизированный метод API. Этот тип бывает ( Nullable<int>, Nullable<int>, int ).

Хорошо, я тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...