์๋ ํ์ธ์.. ์ทจ๋ฏธ๋ก ์ ๋ํฐ ๋ ํ ์ค์ธ ํ์ฌ์์
์ด๋ค ๋ณ์๊ฐ ๋ณํํ๊ฑฐ๋ ํจ์๊ฐ ๋ฐ๋๋์์ ๋ ์ด๋ค ์ ํธ๋ฅผ ์ฃผ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์ถ์
ex ) bool a = false ์์ true๋ก ๋ฐ๋์์ ๋ ์๋์ผ๋ก ์ ํธ๋ฅผ ์ฃผ๊ธฐ?
ย ย ย void a() ์คํ๋์์ ๋ ์ ํธ๋ฅผ ์ค์ void b() ์คํํ๊ฒ ํ๊ธฐ?
delegate๋ event ๊ฐ์ ๊ฒ๋ค ์ฝ์ด ๋ณด์๋๋ฐ ๋์ ํ ์ดํด๊ฐ ์๋ผ๋ค...
์ค๋ช ๋ถํ๋๋ฆฝ๋๋ค
ํ๋กํผํฐ์ ์ด๋ฒคํธ ์ฐ๊ฒฐ
์ด๊ฒ ์ ์ผ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด๋ค. bool _a; bool a { set { _a=a; AChanged(); } get { return _a; } }
์ด๋ ๊ฒ ํ๋ฉด a์ ๊ฐ์ ๋ฃ์๋๋ง๋ค ์ฆ์ AChanged()๊ฐ ํธ์ถ๋๋๊น ๊ฑฐ๊ธฐ์ ๋๊ฐ ํ๊ณ ์ถ์๊ฑฐ ๋ฃ์ด๋ผ
์ ์ผ ์์ ์ ๋ต์ด ์จ์๋๋ฐ ๋ฐ์ ๋๋ค์ ๋ญ ๊ฐ์๋ฆฌ๋ค์ ํ๊ณ ์๋ใ ใ ใ ใ ใ ใ ใ ใ ใ
115.65์ผ ์๋ง๋ณด๊ฐ ๋ฑ ๋๋ฅผ ๋๊ณ ํ๋ ๋ง์ด๋ค
์ต์ ๋ฒํจํด
๊ทธ๋ฐ๊ฑฐ ๋ฐ๋ก ์๊ณ ๊ทธ๋ฅ false๊ฐ true๋ก ๋ฐ๋๊ฒ ํ๋ ์ฝ๋๊ฐ ์์ํ ๋ฐ ๊ทธ๋ฅ ๊ทธ ๋ถ๋ถ์์ ์คํํด์ฃผ๋๊ฑฐ ๋ฐ์ ์์ด์. ์ด๋ณด๋ผ๋ฉด ๊ทธ๋ฅ ๋ ๋ค update๋ฌธ์ ๋ฐ์๋ฒ๋ ค๋ ๊ด์ฐฎ.. - dc App
'์๋'์ผ๋ก ๋๋๊ฑด ์๋ฌด๊ฒ๋ ์๋ค
์ด๋ฒคํธ or ์ต์ ๋ฒ ํจํด
์ ๋ง๊ธ๋ค์ฒ๋ผ ์ด๋ฒคํธ๋ ์ต์ ๋ฒ ํจํด์ด ๋ํ์ ์ธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด๊ณ ๋จ์ํ๊ฒ ์ฝ๋ฐฑ์ด๋๊ฑธ ์ฌ์ฉํ ์๋ ์์ด.. ๊ทธ๊ฒ c#์์๋ ์๋ง delegate๋ func, action, lamda ์ด๋ฐ๊ฒ๋ค๋ก ๊ฒ์ํ๋ฉด ์ ๋ณด๊ฐ ๋์ฌ๊ฑฐ์ผ. ์ฝ๋ฐฑ ๊ฐ๋ ์ ์ค๋ช ํ๋๊ฑด ๋ด์ฉ์ด ์ข ๊ธธ๊ณ , ๋๊ฐ ์ฝ๋ ๊ฐ๊ฐ์ด ์๋ค๋ฉด ๊ฒ์ํด์ ๋์ค๋ ์์ ์ฝ๋๋ค์ ๋ดค์ ๋ ์ ์ด๋ฐ๊ฑฐ๊ตฌ๋ ๊ฐ์ด ์ฌ ์๋ ์์ด
๋ธ๋ฆฌ๊ฒ์ดํธ์ ์ํ๋ ์ก์ ๋ฑ๋กํด๋ ๋ค์์ ์คํ ์ง์ ์ ํธ์ถํ์
class Target { Send.myAction = MyFunc(); } class Send { public static Action myAction; void OnEvent(){ myAction(); .}.}
Send์ OnEventํจ์๊ฐ ์คํ๋๋ฉด Target์ MyFunc๊ฐ ์คํ๋จ. Send์ myAction์ ๋ฆฌ์คํธ๋ก ๋ง๋ค๋ฉด ์ฌ๋ฌ ํ๊ฒ์ ์ค์ ํ ์ ์๊ฒ ์ง.
๋ชจ๋ ์น์ ํ ๋ต๋ณ ๊ฐ์ฌ!!