Bonjour,
Comme je débute en C#, c'est surement un pb simple à résoudre, mais malgré mes différentes recherches je bloque dessus.
Le code suivant fonctionne très bien :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
using System;
using System.Collections.Generic;
using System.Text;
namespace DeveloppementNTiers.BusinessObjects
{
abstract public class db_field<T>
{
public T field {get; set;}
}
abstract public class db_table
{
// Dictionary <string,db_field> db_fields;
public db_table()
{
}
}
public class Client : db_table
{
// db_fields t_Client = new db_fields();
// db_fields["ClientID"]=db_field<int>;
public int ClientID { get; set; }
public string ClientLastName { get; set; }
public string ClientFirstName{ get; set; }
public Client()
{
}
public Client(int id, string lastname, string firstname)
{
this.ClientID = id;
this.ClientLastName = lastname;
this.ClientFirstName = firstname;
}
}
} |
Comme je veux le rendre générique, j'ai rajouté les 2 classes
abstract public class db_field<T>
abstract public class db_table
Si je décommente la ligne
Dictionary <string,db_field> db_fields;
J'obtiens l'erreur
L'utilisation du type 'x.db_field<T>' générique requiert les argument de type '1'
Mon objectif est de remplacer dans la classe Client les lignes du type
public int ClientID { get; set; }
par quelque chose qui devrait ressembler à ça
db_fields["ClientID"]=db_field<int>;
Merci d'avance pour toute aide
Partager