Ho creato due enumerazioni e so che non sono lo , ma penso che abbia un senso essere uguale a poiché la loro rappresentazione di stringa e la loro rappresentazione numerica sono uguali (e anche lo stesso ...).Quando due enumerazioni sono uguali in C#?
In altre parole: vorrei che il primo test passasse e il secondo fallisse. In realtà però, entrambi falliscono. Quindi: quando due enum in C# sono uguali? O c'è comunque la possibilità di definire l'operatore di uguale in C#?
Grazie!
public enum enumA {one, two}
public enum enumB {one, two}
[Test]
public void PreTest()
{
Assert.AreEqual(enumA.one,enumB.one);
Assert.AreSame(enumA.one, enumB.one);
}
UPDATE: 1) Così le risposte finora tutti confronta rappresentazioni, sia interi o stringhe. Il numero dello stesso è sempre disuguale. Nessun mezzo per definire l'uguaglianza per questo?
Duplicato: http://stackoverflow.com/questions/1410131/comparing-two-enum-types-forquivalence –
@Robert: grazie per il collegamento, interessante e correlato. Chiaramente non duplicato: chiede il valore di un enum. – Peter