1. 핸들러에 넘겨주는 파라메터를 EventArgs.Empty 고대로 넘겨주고 알아서 가져다 쓴다.


ex)

public class A

{

public event EventHandler OnSomething;



void func()

{

     OnSomething( this, EventArgs.Empty);

}

}


이후에 어딘가에서 처리할 핸들러에서


public void Handler( object _sender, EventArgs _args)

{

A a = (A)_sender;

// 어쩌고저쩌고

}



2. EventArgs를 상속받아서 만든 놈을 넘겨준다.


public class customArgs : EventArgs 

{

//필요한 변수들

}


public class B

{

public event EventHandler OnSomething;

public void fucn()

{

OnSomething( this, new customArgs() );

}

}


이후 핸들러에서


public void Handler( object _sender, customArgs _custom)

{

     _custom에서 바로 사용.

}



----


상황 따라 다르겠지만.. 주로 1번으로 쓰고 있는데.. 


이유는 핸들러에서 정확하게 이벤트 어찌 처리하겠는지 알고 있으면 굳이 클래스 따로 만들어서 안해도 되니까 편하고


만약에 핸들러 등록이 한 곳에서 되어있다면 그게 명확하다보니까 굳이 할 필요를 못느껴서...



사실 경험이 부족해서 여쭤봅니당.. 그냥 케바케인가요