All pastes #635661 Raw Edit

MultiClassEvent

public text v1 · immutable
#635661 ·published 2007-07-27 08:25 UTC
rendered paste body
using System;
using System.Windows.Forms;	

namespace SomeTestingNamespace
{
        //declare delegate with one additional argument
	public delegate EventDelegate(string arg1);
	
	public static class Program
	{
		//the main entry point of the program
		[STAThread]
		static void Main()
		{
			Application.Run(MainClass());
		}
	}


	//this must be a form derrived class
	public class MainClass()
	{
		//declare the event based on delegate (above)
		public event EventDelegate EventInvoker;

		//declare and instantiate the "other" class		
		public SecondaryClass sClass = new SecondaryClass();		

		//the main class of the application
		public int MainClass()
		{
			//instantiate event
			EventInvoker += new EventDelegate(sClass.ExecuteAction);	

			//just pretend we fire up the event, method with event to be exact
			SomeMethod("Some argument typeof string");
			
			//finish the execution
			return 0;
		}

		//some method which invokes the delegate event
		private void SomeMethod(string dataToPass)
		{
			EventInvoker(dataToPass);
		}
		
	}

	//the other class, might be, as well imported from plugin, loaded from assembly... w/e
	public class SecondaryClass()
	{	

		public SecondaryClass()
		{
			//initialize smth ! ... or not :P
		}

		public void ExecuteAction(string dataToPass)
		{
			Message.Show("Event Fired with arg: " + dataToPass + "!");
		}
			

	}
}