Hello, I'll start by the code, because I think it's the best way of illustrating the problem in this case:
using System; namespace Dummy { class MainClass { public static void Main (string[] args) { B b = new B(); b.SampleMethod(); } } public class A { protected virtual string GetClassName() { return "Class A"; } protected string BuildString () { return this.GetClassName() + " method"; } public virtual void SampleMethod () { Console.WriteLine (this.BuildString()); } } public class B : A { protected override string GetClassName() { return "Class B"; } public override void SampleMethod () { base.SampleMethod(); Console.WriteLine (this.BuildString()); } } } The output of this code is: Class B method Class B method While what I want to get is: Class A method Class B method I've tried with some minor changes, like removing "virtual" and "override" from GetClassName, getting: Class A method Class A method But I didn't been able to get the output that I want. Perhaps using reflection??? _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list