คำถามติดแท็ก system.type

30
มีทางเลือกอื่นที่ดีกว่านี้ในการ "เปิดใช้ประเภท" หรือไม่
การเห็นว่า C # ไม่สามารถใช้switchกับประเภท (ซึ่งฉันรวบรวมไม่ได้เพิ่มเป็นกรณีพิเศษเนื่องจากisความสัมพันธ์หมายความว่าcaseอาจมีการใช้มากกว่าหนึ่งที่แตกต่างกัน) มีวิธีที่ดีกว่าในการจำลองการสลับกับชนิดอื่นนอกเหนือจากนี้หรือไม่ void Foo(object o) { if (o is A) { ((A)o).Hop(); } else if (o is B) { ((B)o).Skip(); } else { throw new ArgumentException("Unexpected type: " + o.GetType()); } }

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.