Je me demandais simplement où les règles pour les opérateurs en C# sont réellement définies.Où sont définis les opérateurs (en C#)?
E.g. Où puis-je voir le code qui dit que == vérifie les références de deux objets?
Je peux voir les surcharges de l'opérateur, par ex. la classe String mais maintenant je suis intéressé à voir le cas 'base'. Est-ce juste quelque chose que le compilateur sait explicitement faire avec et donc il n'y a pas de code que nous pouvons voir en utilisant des outils tels que Reflector.
Je ne serais pas trop surpris si la plupart des opérateurs ne pouvaient pas être définis dans la langue elle-même (dans la plupart des langues, en fait). – delnan
@delnan: bien sûr, soit avec NOT AND (NAND) ou seulement avec NOT OR (NOR) vous pouvez définir n'importe quel autre opérateur, donc vous pouvez construire une langue avec un seul de ces opérateurs prédéfini en dehors de la langue. En fait, c'est ainsi que fonctionnent les micropuces. –
C'est pourquoi j'ai dit * plus *. Les opérateurs logiques peuvent être réduits à NAND ou NOR. Mais comment est par exemple '+' défini? – delnan