J'essaye de mettre en œuvre un type Tribool en utilisant http://www.boost.org/doc/libs/1_41_0/doc/html/tribool.html comme référence. J'utilise une structure car c'est un type primitif et ne devrait pas être extensible. Je sais qu'il existe 3 types de Tribools --- True, False et Unknown, et le constructeur par défaut devrait fournir un False Tribool. Ma question est, quel type de données dois-je définir Vrai, Faux et Inconnu? En ce moment je:Implémentation Tribool en C#
struct Tribool
{
//True, False, and Unknown public constants
public static readonly Tribool TRUE, FALSE, UNKNOWN;
//Constructors
public Tribool()
{
Tribool = FALSE; //use ValueType instead?
}
mais je ne suis pas sûr si cela est exact, car il semble que je suis juste un réglage Tribool à un autre Tribool. Dois-je utiliser ValueType à la place? Il a surgi quand je tapais VS, et cela semble raisonnable, mais je n'ai pas pu trouver beaucoup d'informations à partir de Google.
De plus, le Tribool doit être capable de fonctionner avec des bols réguliers, ce qui signifie que "vrai" et "faux" doivent être surchargés. Cela nécessiterait-il une surcharge de l'opérateur? Ou devrait-il juste être une méthode qui renvoie un bool?
Merci d'avance!
Edit: Désolé, j'aurais dû mentionner que c'était pour une affectation. Donc, je ne peux pas utiliser des bols, même si c'est beaucoup plus pratique que beaucoup d'entre vous l'ont souligné.