참고로 실행은 안해봤음 ㅋㅋㅋ..
오늘 작업 하다가 함수로 빼기엔 애매하지만 반복적으로 카피엔 페이스트 해야될 코드 쓰레기를 보고
람다가 떠올라서 적용해봤다
static public class TestClass { // 함수 원형 static delegate int del(int i); static delegate int test(int x, string y); static delegate void noneParam(); // 함수를 구현할 변수.. static private del delegate_; static private test test_; static private noneParam noneParam_; static public TestClass() { // 함수 구현 delegate_ = x => { return x * x; }; test_ = (x, y) => { Console.WriteLine("{0}:{1}", x, y); return 0; }; noneParam_ = () => { Console.WriteLine("hi~^^"); }; } static public int ExceDelegate(int x) { // 사용.. return delegate_(x); } static public int ExceTest(int x, string y) { // 사용.. return test_(x, y); } static public void ExceNoneParam() { // 사용.. return noneParam_(); } } static void Main(string[] args) { int result = TestClass.ExceDelegate(2); int result = TestClass.ExceTest(2, "hi"); TestClass.ExceNoneParam(); }
비동기 처리를 하는 람다식도 있다
신기하군
비동기에 대한 개념은 아래 사이트에서
http://technet.microsoft.com/ko-kr/library/hh191443.aspx
public partial class Form1 : Form { public Form1() { InitializeComponent(); button1.Click += async (sender, e) => { // ExampleMethodAsync returns a Task. await ExampleMethodAsync(); textBox1.Text += "\r\nControl returned to Click event handler.\r\n"; }; } async Task ExampleMethodAsync() { // The following line simulates a task-returning asynchronous process. await Task.Delay(1000); } }
'프로그래밍 > C#' 카테고리의 다른 글
C# Dictionary를 List로 변경하기 (0) | 2013.09.11 |
---|---|
c# delegate .. static 로도 된다!! 좋닼굳ㅋㅋ (0) | 2013.09.11 |
메시지 루프 처리 (0) | 2013.09.05 |
C# 네트워크 라이브러리 (1) | 2013.08.12 |
C# TextBox Enter 입력 (텍스트박스 엔터키 입력) (0) | 2013.08.05 |