public void Do(IDo o, Doer doer) { if (o is A a) { doer.Do(a); } else if (o is B b) { doer.Do(b); } else if (o is C c) { doer.Do(c); } else if (o is D d) { doer.Do(d); } else if (o is E e) { doer.Do(e); } else if (o is F f) { doer.Do(f); } }
public void Do(IDo o, Doer doer) { var type = o.GetType(); if (type == typeof(A)) { doer.Do((A)o); } else if (type == typeof(B)) { doer.Do((B)o); } else if (type == typeof(C)) { doer.Do((C)o); } else if (type == typeof(D)) { doer.Do((D)o); } else if (type == typeof(E)) { doer.Do((E)o); } else if (type == typeof(F)) { doer.Do((F)o); } }
public void Do(IDo o, Doer doer) { var a = o as A; var b = o as B; var c = o as C; var d = o as D; var e = o as E; var f = o as F; if (a != null) { doer.Do(a); } else if (b != null) { doer.Do(b); } else if (c != null) { doer.Do(c); } else if (d != null) { doer.Do(d); } else if (e != null) { doer.Do(e); } else if (f != null) { doer.Do(f); } }
public void Do(IDo o, Doer doer) { var handle = Type.GetTypeHandle(o); if (handle.Equals(s_a)) { doer.Do((A)o); } else if (handle.Equals(s_b)) { doer.Do((B)o); } else if (handle.Equals(s_c)) { doer.Do((C)o); } else if (handle.Equals(s_d)) { doer.Do((D)o); } else if (handle.Equals(s_e)) { doer.Do((E)o); } else if (handle.Equals(s_f)) { doer.Do((F)o); } }
public void Do(IDo o, Doer doer) { switch (o) { case A a: doer.Do(a); break; case B b: doer.Do(b); break; case C c: doer.Do(c); break; case D d: doer.Do(d); break; case E e: doer.Do(e); break; case F f: doer.Do(f); break; } }