J'essaie de mettre en œuvre un tableau, divisé jusqu'à 3 niveaux. Maintenant, ma question n'est pas de la bonne façon de structurer cette implémentation, bien que tous les pointeurs seraient les bienvenus.Générique question en C#
iv'e a un problème avec la mise en œuvre d'un domaine générique classe
public class Field<T>
{
T value;
Type _type;
string _header;
}
je ne sais pas quel type T serait de si je dois définir la classe avec, maintenant le problème que je » m face est que la collection de Champ dans la classe enregistrement serait le plus probablement tenir différents types de Tet défaites un peu le tout usage
public class Record
{
List<Field<object>> fields ;
}
alors maintenant j'ai besoin de lancer le T à l'objet parce que T ne sera pas d'un type spécifique.
toute idée est le travail autour de cette acceptation tombant l'idée de tous les génériques et définissant la valeur comme objet, serait le plus apprécié.
plus tous les pointeurs sur mon idée de la mise en œuvre
ma table se compose de
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
}
10x à l'avance.
vous semblez être de réinventer la roue? –
Cela ne peut pas être fait avec des génériques seuls. Vous devrez: a) charger l'utilisateur de votre classe de demander un type spécifique de données, ou b) utiliser la génération de code pour créer des classes non génériques à partir de votre base de données, ou c) utiliser la réflexion. – Jon
cela peut être une question naïve, mais pourquoi créez-vous des objets qui semblent imiter la datable ado.net, et datarow (et probablement datacolumn?)? – adrianos