콜백을 작성하는 가장 좋은 방법은 무엇입니까? void (string, int)의 sig가있는 함수 하나만 호출하면됩니다. 그리고 내가 처리해야하는 멤버 obj가 있기 때문에이 클래스를 호출해야합니다. 이것을 쓰는 가장 좋은 방법은 무엇입니까? C에서 나는 func 포인터와 void * obj를 전달할 것이다. 나는 그것을 싫어하고 나는 C#에서 이것을하는 더 좋은 방법이 있다고 의심한다.콜백은 어떻게 작성해야합니까?
2
A
답변
5
C#으로 콜백을 처리 (또는 필요성을 대체)의 표준 방법은 위임 또는 이벤트를 사용하는 것입니다 : 그것은 당신이 같은 일을 할 수 있습니다. See this tutorial for details.
이것은 매우 강력하고 깨끗한 콜백 처리 방법을 제공합니다.
12
C# 3.0에서는 콜백 (또는 위임) 서명을 무시할 수있는 람다 (lambda)를 도입했습니다.
static void GiveMeTheDate(Action<int, string> action)
{
var now = DateTime.Now;
action(now.Day, now.ToString("MMMM"));
}
GiveMeTheDate((day, month) => Console.WriteLine("Day: {0}, Month: {1}", day, month));
// prints "Day: 3, Month: April"
+1
나는 왜 누군가가 이것을 downvoted 궁금해! 코드가 작동하고 질문에 대답하는 것 같습니다. –
+1
나는 그것을 투표했다. '힘'은 부패한다. 심지어 우리 중 일부는 분명히 괴롭다. – SinisterRainbow
1
이게 무슨 뜻이야?
thatfunc(params, it, wants, Func<myObject> myCallbackFunc)
{
myObject obj = new Object();
myCallbackFunc.Invoke(obj);
//or
myCallbackFunc.Invoke(this);
//I wasn't sure what if myObject contained thatFunc or not...
}
관련 문제
- 1. 인수가있는 콜백은 어떻게 실행됩니까?
- 2. WCF에서 콜백은 어떻게 구현됩니까?
- 3. 콜백은 어떻게 PHPDoc해야합니까?
- 4. Actionscript 3에서 콜백은 어떻게 작동합니까?
- 5. Ajax 양식을 어떻게 작성해야합니까?
- 6. AS3 루프에서 어떻게 작성해야합니까?
- 7. 올바른 COM 코드를 어떻게 작성해야합니까?
- 8. 내 '지금'/ DateTime.Now를 어떻게 작성해야합니까?
- 9. ATL 프로젝트에서 클래스를 어떻게 작성해야합니까?
- 10. Rails before_validation 콜백은 잘못된 데이터를 어떻게 처리해야합니까?
- 11. 콜백은 레일에서 작업을 중지합니다.
- 12. 코코아 콜백은 언제 제어됩니까?
- 13. 함수의 콜백은 변수
- 14. 아음속 3.0 DB 컨텍스트 클래스는 어떻게 작성해야합니까?
- 15. 이것이 모델에 있어야하나요? 그렇다면 어떻게 작성해야합니까?
- 16. mysql_query 함수에서 PHP $ _POST vars를 어떻게 작성해야합니까?
- 17. C#에서 여러 인스턴스가있는 플러그인을 어떻게 작성해야합니까?
- 18. 표시된 결과를 얻으려면 mysql 쿼리를 어떻게 작성해야합니까?
- 19. 사용자 환경 설정 속성은 어떻게 작성해야합니까?
- 20. 이 Linq를 엔터티 쿼리에 어떻게 작성해야합니까?
- 21. Eclipse에서 내 사이트 템플릿을 어떻게 작성해야합니까?
- 22. Google App Engine app.yaml 파일을 어떻게 작성해야합니까?
- 23. 메시징 시스템 : 콜백은 무엇이든 가능합니다
- 24. 이 objective-c 함수의 결과에 대한 콜백은 어떻게 수행합니까?
- 25. .Net : 콜백은 어떤 스레드에 있어야합니까?
- 26. jQuery 콜백은 분명 실패시 반복됩니까?
- 27. `System.IO.Path`를 구체적으로 작성해야합니까?
- 28. 이 릴리스를 작성해야합니까?
- 29. viewModel은 어디에서 작성해야합니까?
- 30. 왜 이런 반복기를 작성해야합니까?
질문을 다시 작성해야합니다. 그것은 전체적으로 많은 의미를 가지지 않으며 문맥도 없습니다. – Samuel
귀하의 질문은 아직 명확하지 않습니다. 무엇을 불러야 만할까요? – Samuel