我試圖實現一個表,將其分成3個級別。C中的泛型問題#
class Field ->
class Record (witch holds a collection of fields) ->
class Table(witch holds a collection of Records)
現在我的問題是不正確的方式來構造這個實現,雖然任何指針都會受到歡迎。
iv'e有一個問題與實現一個通用類領域
public class Field<T>
{
T value;
Type _type;
string _header;
}
我不知道是什麼類型T會的,所以我需要定義與我」, 現在的問題類米麪對的是場記錄中的類集合將最有可能持有的不同類型的牛逼和這有點兒違背了所有目的
public class Record
{
List<Field<object>> fields ;
}
所以現在我需要將T轉換爲對象,因爲T不會是特定的類型。
任何想法的工作圍繞此接受下垂所有的泛型概念和定義值爲對象,將不勝感激。
加上我的想法實現任何指針
我的表提前由
class Table
{
KeyValuePair<string,Type>[] columns ;
KeyValuePair<string, Type> primary_key;
string entitie_name ;
List<Reocrd> records ;
}
// the Record class could be created only from a table template just like a datarow
public class Record
{
List<Field<object>> fields ;
string primary_key ;// the name of the field witch i use to extract a value
}
10倍。
你似乎是重新發明輪子呢? –
單靠仿製藥無法做到這一點。您將需要:a)爲您的班級的用戶承擔責任,要求提供特定類型的數據,或者b)使用代碼生成功能從您的數據庫創建非泛型班級,或c)使用反思。 – Jon
這可能是一個天真的問題,但你爲什麼要創建似乎模仿ado.net數據表和對象的數據行(可能是datacolumn?)? – adrianos