Je restructure actuellement mon programme pour qu'il soit plus orienté objet et j'ai des problèmes avec les constructeurs de mes objets. Tous les objets sont stockés dans une base de données qui doit être lisible par un humain, donc je me suis dit que ce serait bien que le programmeur passe directement le constructeur d'un objet à la table ou à la table de données.C# Paramètre du constructeur passant
Alors, ce que je voulais faire était le suivant:
public TestObject(Data.MyDataTable table) {
// Some checks if the table is valid
TestObject(table[0]);
}
public TestObject(Data.MyDataRow row) {
// Some checks if the row is valid
TestObject(row.Name, row.Value);
}
public TestObject(String name, String value) {
// Some checks if the strings are valid
_name = name;
_value = value;
}
Alors, comme vous le voyez, je veux en quelque sorte une « chaîne de constructeur » qui, selon la façon dont le programmeur appelle, les valeurs sont transmises à travers et validé à chaque étape. Je l'ai essayé comme je l'ai écrit, mais ça n'a pas marché.
Error 'TestObject' is a 'type' but is used like a 'variable'
J'ai aussi essayé d'écrire this.TestObject(...)
mais aucun changement.
Error 'TestObject' does not contain a definition for 'TestObject' and
no extension method 'TestObject' accepting a first argument of type
'TestObject' could be found
Comment puis-je faire à ce sujet?
"Cela n'a pas fonctionné". Qu'est-ce qui n'a pas fonctionné? Quels étaient les problèmes? – Oded
@Oded: Le message d'exception est clairement indiqué, et à partir du code, il est facile de voir quel est le problème ... – gehho
@gehho J'ai ajouté l'exception après avoir demandé. Rien à reprocher;) –