programme de test (NET 2.0):Pourquoi enum.ToString() donne un résultat différent de celui affiché dans l'info-bulle du débogueur?
[Flags]
enum MyEnum
{
Member1 = 1,
Member2 = 2,
}
class Program
{
// Inspecting r shows "Member1 | Member2"
MyEnum r = MyEnum.Member1 | MyEnum.Member2;
// s = "Member1, Member2"
string s = r.ToString();
}
I serait attendu .ToString()
pour renvoyer une chaîne avec les éléments séparés par un tuyau, mais qui est pas le cas.
Info de prime: l'appel Enum.Parse()
sur la chaîne séparée par des virgules réussit, alors que le fournir avec une chaîne séparée par un tube échoue.
d'info bonus - vous pouvez remplacer la façon dont le débogueur affiche vos propres classes avec les touches [DebuggerDisplayAttribute] – Jimmy
Merci pour le conseil - Je me suis toujours demandé comment cela a été fait. –