2009-08-04 79 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)

好吧,我也是。