인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

레슬매니아's profile image
레슬매니아

asked

[MMORPG Game Development Series with C# and Unity] Part 1: Introduction to Basic C# Programming

part1 람다식 강의에서 제네릭

Resolved

Written on

·

230

0

안녕하세요.

part1 람다식 강의 16:18 에서 50번째 줄에 있는 new Myfunc<Item, bool>을 지우셨는데 궁금증이 생겨 질문드립니다.

14:40 에서 50번째 줄에 있는 것처럼 제네릭이 없는 델리게이트를 사용할 때는

ItemSelector selector = new ItemSelector ((Item Item) => { return item.ItemType == ItemType.Weapon}); new키워드를 쓰셨는데

16:18에서 제네릭을 사용하시고부터는 없어도 똑같이 동작한다고 말씀하셨습니다. 즉 코드상으로

MyFunc<Item, bool> selector = new MyFunc<Item, bool>((Item Item) => { return item.ItemType == ItemType.Weapon}); 에서

MyFunc<Item, bool> selector = (Item Item) => { return item.ItemType == ItemType.Weapon};  로 고치셨습니다.

new Myfunc<Item, bool>를 지우셨는데 제네릭을 사용할 때는 new를 써도 되고 안써도 되고라고 이해해도 될까요?

제네릭newC#

Answer 1

1

rookiss님의 프로필 이미지
rookiss
Instructor

제네릭이나 new 유무 때문이라기보다는 생각보다 컴파일러가 똑똑해서
유추할 수 있는 것들은 알아서 추론을 해주기 때문입니다.

레슬매니아's profile image
레슬매니아

asked

Ask a question