在公共API中使用可空类型

时间:2009-08-04 14:53:33

标签: c# design-patterns

我在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
}

在这个方法中,我传递两个可空类型,因为这些值可以为null(并在DB Stored Proc中将它们检查为null)。我不想使用魔术数字,所以可以通过这样的nullables类型(从性能和架构灵活性的角度来看)吗?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

我认为如果您可以使用Collections或Collections.Generic对象,那么您应该使用Nullable<T>感觉完全合理。

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

我也好。