So i have this method:
internal K GetValue<T, K>(T source, string col) where T : IBaseObject
{
string table = GetObjectTableName(source.GetType());
DataTable dt = _mbx.Tables[table];
DataRow[] rows = dt.Select("ID = " + source.ID);
if (rows.Length == 0) return K;
return (K) rows[0][col];
}
I want to be able to return a null, or some kind of empty value, if no rows are found. What's the correct syntax to do this?
From stackoverflow
-
You could return default(K), and that means you will return null if K is a reference type, or 0 for int, '\0' for char, and so on...
Then you can easily verify if that was returned:
if (object.Equals(resultValue, default(K))) { //... } -
You could
return default(K). -
You have to use the class generic constraint on the K type parameter (because classes - as opposed to structs - are nullable)
internal K GetValue<T, K>(T source, string col) where K : class where T : IBaseObject { // ... return null; }
0 comments:
Post a Comment