검색결과 리스트
Action에 해당되는 글 1건
글
링크 : http://msdn.microsoft.com/ko-kr/library/dd465122.aspx
링크 : http://msdn.microsoft.com/ko-kr/library/018hxwa8.aspx
이렇게도 사용할수 있군요. 간단한 메소드는 델리게이트 선언하지 않고 바로 사용 할 수 있을듯합니다.
응용 : http://www.devpia.co.kr/MAEUL/Contents/Detail.aspx?BoardID=18&MAEULNO=8&no=1723&page=11
범용 적으로 사용 하게 만든 클래스 사실 제네릭 인자 3개 더 추가밖에 없습니다.
public static class ControlExt { public static void InvokeIfNeeded(this Control control, Action action) { if ( control.InvokeRequired ) { control.Invoke(action); } else { action(); } } public static void InvokeIfNeeded< T >(this Control control, Action< T > action, T arg) { if ( control.InvokeRequired ) { control.Invoke(action, arg); } else { action(arg); } } public static void InvokeIfNeeded< T1 , T2 >(this Control control, Action< T1 , T2 > action, T1 arg1, T2 arg2) { if ( control.InvokeRequired ) { control.Invoke(action, new object[] {arg1, arg2}); } else { action(arg1, arg2); } } public static void InvokeIfNeeded< T1, T2, T3 >(this Control control, Action< T1, T2, T3 > action, T1 arg1, T2 arg2, T3 arg3) { if ( control.InvokeRequired ) { control.Invoke(action, new object[] { arg1, arg2, arg3 }); } else { action(arg1, arg2, arg3); } } public static void InvokeIfNeeded< T1, T2, T3, T4 >(this Control control, Action< T1, T2, T3, T4 > action, T1 arg1, T2 arg2, T3 arg3, T4 arg4) { if ( control.InvokeRequired ) { control.Invoke(action, new object[] { arg1, arg2, arg3, arg4 }); } else { action(arg1, arg2, arg3, arg4); } } }
'.Net > .Net' 카테고리의 다른 글
[.Net] 가비지 수집 모니터링 (0) | 2012.04.11 |
---|---|
[.Net] CLR Inside Out: 메모리 문제 조사 (0) | 2012.04.10 |
[C#] Implementing a Database Factory Pattern in C# ASP .NET (0) | 2012.03.25 |
[C#] .Net Control.Invoke (0) | 2012.03.18 |
[C#] .Net 탐색기, Drag And Drop 구현 (0) | 2012.03.15 |
RECENT COMMENT