[Delphi 2005 Evaluation]
[.NET Framework version 1.1]
[XP pro]

Bonjour,
je cherche à comprendre ce que fait exactement cette portion de code avant de la traduire en Delphi pour .Net.
Ce code est extrait d'un tutorial sur le C# disponible dans la version de Delphi 2005.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
public struct DBBool
{
   // The three possible DBBool values:
   public static readonly DBBool dbNull = new DBBool(0);
   public static readonly DBBool dbFalse = new DBBool(-1);
   public static readonly DBBool dbTrue = new DBBool(1);
   // Private field that stores -1, 0, 1 for dbFalse, dbNull, dbTrue:
   int value; 
 
   // Private constructor. The value parameter must be -1, 0, or 1:
   DBBool(int value) 
   {
      this.value = value;
   }
...
}
En Delphi j'ai la possibilité d'utiliser une classe ou record +- identique à ce type de structure, mais j'ai un peu de mal à convertir ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
public static readonly DBBool dbNull = new DBBool(0);
Il s'agit, si j'ai bien compris, d'une propriété propre à la classe en lecture seule.
L'instruction dbNull = new DBBool(0) est-elle une assignation d'un objet créé par le constructeur de la structure/classe DBOOL ?
Et dans ce cas à quel moment ce code est-il exécuté ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
class Test 
{
   static void Main() 
   {
      DBBool a, b;
      a = DBBool.dbTrue;
      b = DBBool.dbNull;
...
}
Que fait cette portion de code a = DBBool.dbTrue; ? Il me semble que c'est une assignation mais je ne vois d'appel de constructeur ?
Mais la réponse est peut-être dans la compréhension du point précédent.

Merci

PS:
Merci de ne pas déplacer ce post dans le forum Delphi.