class A { void Foo (B.E arg) { } } class B : B { } class B { public class E { } } class C { public static void Main () { } }