List에 다양한 파라미터의 함수를 하나씩 저장하고싶음 예를 들어 List<함수> list = new List<함수>(); list.Add(DrawLine(0,1,2,3)); list.Add(DrawCircle(10)); list.Add(ShowDisplay()); 이런식으로 리스트에 쌓아두고 나중에 싹 한꺼번에 실행시키는게 목표인데 가능할까? 만약 불가능하다면 다른 좋은 대안 있음?
해당 댓글은 삭제되었습니다.
그거 파라미터 0개짜리 함수만 받는거 아님?
저기 <함수>에 들어가는 타입이 넣는애들마다 다 다른데 니가 생각하는 방식대로는 안됌. 저 3개를 다 묶은 함수를 일반화한 타입으로 <함수> 자리에 넣는 방식으로 해결하면 됨. - dc App
"저 3개를 다 묶은 함수를 일반화한 타입" 이 뭔지 잘 이해가 안가서 그런데 예시좀 들어줄수있음?
<함수> 부분을 (void) -> void 타입으로 만들고 넣을때 (void) -> void {DrawLine();}; 이런 람다를 넣으면 되자너 - dc App
다양한 타입을 한 개의 컬렉션에 때려박으려면 인터페이스 써야됨 인터페이스로 못하는건 못때려박음 그냥 정보를 넣을 수 있는 객체를 만들고 그 객체를 받는 파라미터 한개짜리 Action을 쓰셈
근데 왜 굳이 그렇게 쌓아야하는지는 모르겠네 너무 동적으로 처리하려는거아님?
ㄱㅅ 큰 이유는 없고 그냥 저게 직관적이고 간결한거같아서
그냥 저런걸 시도하는 이유를 묻는거라면, 타임라인이 있고 재생시간이 x시간 지점에 도달하면 특정 함수가 호출되는 그런거 만들고싶어서 그랬음
그럼 리스트에 Enum같은걸 넣어두고 switch 써두 되겠는데
머 난 정확한 구조는 모르니깐 그냥 해본소리임
event, Action, 람다 식 쓰셈
램돠 - dc App
얘는 함수 자체를 넣는다는 거를 넘어서 파라미터까지 캡슐화하고 싶다는 소리 아님? 다들 이해를 잘 못한 것 같고 이런 경우는 Command 패턴 찾아보고 응용하면 됨.
List 쓰면된다
list 템플릿 action 쓰면된다
https://learn.microsoft.com/en-us/dotnet/api/system.action?view=net-7.0
list.Add(() => DrawLine(0,1,2,3)) 말하는거임?
ㅇㅇ 가능함 이벤트 콜백하고 델리게이트 찾아보셈 그라고