partial class A { internal partial class B : A { public void Test () { Foo (3); } } } partial class A : X { } class X { public void Foo (U arg) { } } class M { public static void Main () { new A.B ().Test (); } }