7 public static int Main()
10 TestClass testClass
= new TestClass();
11 test_int
*= testClass
.AddItem (new TestParam());
12 test_int
*= testClass
.AddItem (new ParamClass());
15 BaseClass baseClass
= testClass
as BaseClass
;
16 base_int
*= baseClass
.AddItem (new TestParam());
17 base_int
*= baseClass
.AddItem (new ParamClass());
19 return (test_int
== 4 && base_int
== 9) ? 0 : 1;
23 public class ParamClass
{}
25 public class TestParam
: ParamClass
{}
27 public abstract class BaseClass
29 public abstract int AddItem (ParamClass val
);
32 public class TestClass
: BaseClass
34 public int AddItem (object val
)
39 public override int AddItem (ParamClass val
)