classes.cs --------- public class Base { public string Path(string empty) { return "Base"; } } public class Sub1 : Base { public new string Path { get { return "Sub1"; } } } public class Sub2 :Sub1 { } new.boo ------- t as Sub2 = Sub2() print ((t as Sub2).Path)