test

CSharp · Console

/Program.cs

using System;
					
    public class Program
    {
    	public static void Main()
    	{
    		Class1 c1 = new Class1();
    		
    		Class2 c2 = new Class2();
    		
    		c1.test();
    		
    		c2.test();
    		
    	}
    }




    public class baseClass
    {
    	
    	protected bool b = true;
    	
    	public virtual void test()
    	{
    		if(!b)
    		{
    			Console.WriteLine("b is true returning");
    			return;
    		}
    	}
    }



    public class Class1 : baseClass
    {
    	public override void test()
    	{
    		base.test();
    		
			//the below line should only execute if b is true
    		Console.WriteLine("Executing a method unique to Class1");
    	}
    }



    public class Class2 : baseClass
    {
    	public override void test()
    	{
    		b = false;
    		base.test();
    		
			//the below line should only execute if b is true
    		Console.WriteLine("Executing a method unique to Class2");
    	}
    }
;