2009-08-04 84 views
6

我喜欢在DAL方法:存储在公共API使用可空类型

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检查他们为空PROC)。我不想使用幻数,那么它是否可以传递类似这样的类型(从性能和架构灵活性角度来看)?

回答

2

我认为这是完全有效的 - 我更喜欢可空的类型魔术值也。

1

由于可为空类型是基类库的一部分,并且与任何特定语言无关,所以我认为它是完全有效的。我试图远离公共API的唯一的构造是特定于语言的构造。

0

我认为如果你确定使用Collections或Collections.Generic对象,那么你应该觉得使用Nullable<T>是完全合理的。

.NET语言是强类型的,所以我认为人们应该期待一种类型化的API方法。这种类型恰好是(Nullable<int>, Nullable<int>, int)

好吧,我也是。