Ich bin nicht sicher, ob diese gültige C#, aber hoffentlich bekommen Sie die Idee. :)Wählen Sie Case auf einen Objekttyp in VB.NET
switch (msg.GetType()) {
case ClassA:
// blah
case ClassB:
// blah 2
case ClassC:
// blah 3
}
Wie würde ich auf eine Objekttyp wechseln, aber VB.NET ist Select Case
mit?
Ich bin mir bewusst, dass einige vorschlagen, polymorphism zu verwenden, aber ich verwende eine Hierarchie von kleinen Nachrichtenklassen, so dass wirklich in meinem Fall nicht funktionieren würde.
Ich werde nur 'If' /' ElseIf's verwenden. Irgendwie nervt es, dass es keine switch-artige Möglichkeit gibt, es zu tun. – mcjabberz
Um genau zu sein, wird dies nur in .Net Framework 4 und höher funktionieren. [Type.Equality Operator] (http://msdn.microsoft.com/en-us/library/system.type.op_equality.aspx) – Jon
Sie können dies mit einem Körnchen Salz nehmen und Ihre eigenen Perf-Tests durchführen: Meine eigenen Der einfache Performancetest von 'If/ElseIf' gegen' Select Case' bewies, dass die 'If/ElseIf'-Option jedes Mal schneller war. Das 'Select Case' hat ungefähr 4 mal so lange gedauert. Ich bleibe bei 'If/ElseIf' für jetzt. – Airn5475