Unity3d C# toolba 사용해보기

C# 델리게이트를 엮어서 한번에 실행하기..

안녕하세요 메르세데스입니다. 이번시간에는 C#의 델리게이트를 한코드로 여러 메소드를 한꺼번에 실행시키는 방법에 대해서 알아보려고합니다.    전시간에는 건 대 건으로 적용시키는 것에대해 알아봤는데요 비슷한형태의 Method를 엮어서 실행시키는 방법을 알아보겠습니다. 무언가 효율적인 프로그래밍이 가능할 것 같습니다.

정말 별거 없습니다. 그런데 계속배우다보니 머릿속에 용량이 꽉찼는지 잘 안들어오네요.. 먼저 배웠던것들은 가물가물하고.. 포스팅되어있는 앞에것들을 보니 내가 언제 이런것을 했었나??? ㅜㅜ 합니다 

한꺼번에 실행시키는 방법은  +연산자를 이용하여 합산해주는 것입니다. 

반대라면 -연산자를 이용하면되겠습니다.

sum = sum +1 이런식의 덧셈은 익숙하실텐데요..  줄여서  +=   이렇게 표현하시면되겠습니다.

델리게이트를 더하는거죠.. 별거 있나요?



아래 예제에 보는것 처럼..  묶었습니다.  


C# delegate_chains






생소한 코드들이 좀 보이는데요.. 제가 좀 이해하기 힘들었던것은 클래스를 선언하였는데 델리게이트타입의 인스턴스를 넣었다는겁니다.. 일종의 변수죠.. int형이나 string형처럼 요..


C# delegate_chains2

뭐.. 어떠한 형태로든 그 타입이 있다면야 클래스내부의 인스턴스(변수?)로 갖을수 있다지만... 눈에 잘 안익습니다. 아직 객체지향의 감을 익히기엔 멀었나 봅니다.

아무튼  그리 만들어진 것으로부터 객체를 만들어서 + 연산자를 이용하여 죽~ 연결하였죠.. 하지만 연결된다고 바로 실행이 되는게 아닙니다.


아래에.. notifier.EventOccured(" xxxxxx" ); 코드를 써줬을때 작동을 하게됩니다.  참조를 하는 문법들로 이루어져있어서 눈이 잘안들어오니.. 천천히 확인하셔야겠습니다. 



C# delegate_chains3


위에는.. 엮여있는 항목중 listener2를 제거하는 방법입니다 .쉽죠?   1,2,3 이렇게 묶여있었는데   출력결과를 보니 1,3만 찍히는게 제대로 적용이 되었습니다.

이상으로 C#의 델리게이트를 엮는 방법을 알아봤습니다. 감사합니다.











댓글