我正在建模一個強類型數據庫鍵列表。有些人會整型,某些字符串,一些的GUID等在C#中尋找強類型列表的設計模式
EDIT他們在這個意義上強類型,一些按鍵將包含整數值,一些字符串,一些的UID等
所以,如果我上課關鍵是「關鍵」,我的名單是List<Key>
我正在尋找如何實現強類型的方面。我不想使用泛型,因爲我認爲它不適用於此(雖然證明我錯了)。
我正在考慮製作「Key」和抽象類,並使每個子類實現強類型的方面。但是這也會很麻煩。 (見下文)
有沒有人有更好的想法?
public abstract class RowKey
{
public string DbName { get; set; }
public abstract object GetTypedValue();
}
public class IntegerRowKey: RowKey
{
public override object GetTypedValue()
{
return 1;
}
}
我懷疑泛型*在這裏是正確的解決方案,但是你沒有向列表顯示你想要做什麼。您是否想要擁有*相同*類型的rowkey或潛在*不同*鍵類型的列表? – 2010-08-15 20:13:17
這是「強類型」?你怎麼使用鑰匙? – SLaks 2010-08-15 20:13:37
這個想法是,他們可能是不同的關鍵類型,但類型相同(所以他們可以分享共同的行爲,它只是不同的類型)。 我之所以迴避泛型的原因是因爲我讀過不同類型的列表並不適合泛型 – AJM 2010-08-15 20:15:46