Je ne suis pas sûr si ce C# valide, mais j'espère que vous avez l'idée. :)Sélectionnez Case sur le type d'un objet dans VB.NET
switch (msg.GetType()) {
case ClassA:
// blah
case ClassB:
// blah 2
case ClassC:
// blah 3
}
Comment puis-je allumer mais en utilisant Select Case
de VB.NET type d'un objet?
Je suis conscient que certains pourraient suggérer d'utiliser polymorphism, mais j'utilise une hiérarchie de petites classes de message, ce qui ne fonctionnerait vraiment pas dans mon cas.
Je vais juste utiliser 'If' /' ElseIf's. Kinda craint qu'il n'y ait pas de moyen de commuter. – mcjabberz
Pour être précis, cela ne fonctionnera que dans .Net Framework 4 et versions ultérieures. [Type.Equality Operator] (http://msdn.microsoft.com/fr-fr/library/system.type.op_equality.aspx) – Jon
Vous pouvez prendre cela avec un grain de sel et faire vos propres tests de perf: Ma propre Le simple test de performance de 'If/ElseIf' vs' Select Case' a prouvé que l'option 'If/ElseIf' était plus rapide à chaque fois. Le 'Select Case' a pris environ 4 fois plus de temps. Je vais m'en tenir à 'If/ElseIf' pour le moment. – Airn5475