在我們ADO
框架的代碼庫,我覺得這樣的定義:如果intellisense顯示HasValue屬性,是否意味着該類型可爲空?
// Reference_System_RTK
public Company.Framework.Data.DbTypes.DbString Reference_System_RTKField
{
get {return this.DbString("Reference_System_RTK");}
set {this.DbString("Reference_System_RTK", value);}
}
而在當我想讀它的值的代碼,我也看到在智能感知的建議.Value
和.HasValue
。 所以我的問題是什麼時候intellisense顯示這些屬性是否意味着它一直是null able type
?所以我應該總是爲了獲得它的價值而得到它的HasValue and .Value
?我不能只引用字段名稱?
PrimaryKeysCrossReferenceTable.PrimaryKeysCrossReferenceDataRow tempDataRow = tblPrimaryKeysCrossReference.Rows[0] as PrimaryKeysCrossReferenceTable.PrimaryKeysCrossReferenceDataRow;
if (tempDataRow != null && tempDataRow.Reference_System_RTKField.HasValue)
result = tempDataRow.Reference_System_RTKField.Value;
VS
result = tempDataRow.Reference_System_RTKField;
我沒有得到編譯錯誤的任何人。 我也看了看錶列定義在SQL Server
和該領域它說"not null"
它可能是空的,或者它可能是一個恰好具有「Value」和「HasValue」屬性的類型。你必須看看這個類型才能發現。 'DbString()'返回什麼類型? 「結果」是什麼類型? – Cameron