TemplateA型のパラメーターを使用してEntryPointを呼び出すと、最初のオーバーロードが常に呼び出されるため、常に例外が発生します。
私が予想したことは、動的バインディングのために最も具体的なメソッド(2番目のオーバーロード)が呼び出されることです。
なぜ何かアイデアはありますか?
private object _obj;
public void EntryPoint(object p)
{
myFunc(p);
}
//first overload
private void myFunc(object container)
{
throw new NotImplementedException();
}
//second overload
private void myFunc(TemplateA template)
{
_obj = new ObjTypeA(template);
}
//third overload
private void myFunc(TemplateB template)
{
_obj = new ObjTypeB(template);
}