私は次のクラスを持っています:
public class Person
{
}
public class Employee : Person
{
}
public class Customer : Person
{
}
これらのクラスを使用するいくつかのメソッド:
public class OtherClass
{
public void DoSomething(Employee e)
{
}
public void DoSomething(Customer c)
{
}
}
呼び出し:
// People = Collection<Person>.
foreach (var p in People)
DoSomething(p); // Should call the right method at runtime and "see" if it´s an Employee or a Customer.
コンパイラはこれを許可しません。このシナリオを実装するにはどうすればよいですか?