메뉴 닫기

C# Action- 검토

C# 에는 독특한것이 있다, Action 이란 것인데, 이런 기능의 필요성동 조금 의문이지만 특이하다,
나의 경우는 Extension기능을 선호 하기에 이렇게 사용할 경우는 없을 것 같지만 , 한번쯤 눈여겨 보고 가야 할 것 같아
종료버튼 눌렀을 때 메시지 박스가 뜨면,1000ms(1s)후에 자동 종료되는 형태이다.다른 방법도 있지만 Action으로 사용 하는 방법

private void MessageBoxFormClosing(Form fm)
{
    if (fm.InvokeRequired)
    {
        Action
closeform = new Action
(MessageBoxFormClosing); this.Invoke(closeform, fm); } else { if (fm != null) fm.Close(); } } private void button1_Click(object sender, EventArgs e) { Form msgfm = new Form(); Action clse = new Action(() = > { while (true) { System.Threading.Thread.Sleep(1000); break; } MessageBoxFormClosing(msgfm); }); clse.BeginInvoke(ir = > clse.EndInvoke(ir), null); MessageBox.Show(msgfm, “닫혀~”); }

댓글 남기기

이메일은 공개되지 않습니다.