example += test;
๊ฐ์ ์์ผ๋ก Delegate์ ๋ฑ๋กํ๊ฒ๋ค
Destroy๋ OnAplicationQuit ์ด์ ์ย ์๋ฌด์ ์ผ๋ก ์ง์ ๋ชจ๋ ํด์ ํด์ค์ผํจ?
example += test;
๊ฐ์ ์์ผ๋ก Delegate์ ๋ฑ๋กํ๊ฒ๋ค
Destroy๋ OnAplicationQuit ์ด์ ์ย ์๋ฌด์ ์ผ๋ก ์ง์ ๋ชจ๋ ํด์ ํด์ค์ผํจ?
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
ใณ nullref ๋ฌธ์ ๋ง๊ณ ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฌธ์ ๋ ์ด๋ฐ? ๊ฐ๋ น A๋ผ๋ ์ค๋ธ์ ํธ์ delegate 3๊ฐ๊ฐ์์. ์ฌ๊ธฐ ์ด๊ฑฐ์ ๊ฑฐ +=๋ก ๋ถ์ฌ์ฐ๋ค๊ฐ ํด์ ์ํ์ฒด๋ก A๋ฅผ Destroyํ๋ฉด, ๋ฉ๋ชจ๋ฆฌ๋ฌธ์ ์์ง์์? ์ ๊ธ๊ตฌ example.invoke() ์์ ๋ฑ๋ก๋ ์ด๋ฒคํธ๊ฐ ์์๊ฒฝ์ฐ์ nullref์๋ฌ๋๋๊ฑฐ ํญ์ invokeํ ๋๋ง๋ค ์์ ํ๊ฒ example?.invoke()๋ก ํด์ฃผ๋์์ผ๋ก ์จ์ผํ๋?
๋ฌด์จ๋ง์ธ์ง ๋๋์์ค๋๋ฐ ์ ๋งคํ๋ค.. ํ์คํ๊ฒ ํ๋ ค๋ฉด ๋ช ์์ ์ผ๋ก OnDisable ํน์ OnDestroy์์ ์ ๋ถ -= ํด์ฃผ๊ฑฐ๋ = null ํด์ค์ผ ํด์ผํ ๊ฑฐ๊ฐ์๋ณด์ด๋ค example?.invoke()๋ ์ด๋ฐ? ์ด๋ฐ์์ผ๋ก ์์?