class Bar : Object { public Bar (Type type) { assert (type == typeof (string)); } } class Foo : Bar { public Foo () { base (typeof (G)); } } void main () { var foo = new Foo (); }