우선 VS2005와 C# 2.0을 사용하고 있습니다.C# 2.0 generics : 매개 변수가 0 인 Action 객체를 만드는 방법
SelectedIndexChanged 이벤트 내에서 콤보 상자의 Text 속성을 설정하려고합니다. 우선이의 지금
BeginInvoke(new Action(() => someCombobox.Text = "x"));
나를 위해 컴파일러 오류를 반환 여기에 StackOverflow의 다른 thread에서이 다음과 같은 방식으로 일을 제안되었다. Action 객체가 두 언어 사양에서 다르게 동작하기 때문입니다. C# 2.0에서 Action 객체는 모든 선언에서 <T>
구조를 필요로합니다. 어쩌면 내가 틀렸을 지 모르지만 나는 그것을 분명히하고 싶습니다. 그냥 내가하려는 게 아니에요 특히 때문에 형식 매개 변수 (함께 작업 객체를 정의 내가에있는 것을 나에게 매우 이상한 것 같다, 그러나
BeginInvoke(new Action<string>(delegate { someCombobox.Text = "x"; }), new object[] { "" });
: 작업을 수행 무엇
는 다음과 모든 매개 변수를 전달하십시오)! 어떻게 든이 매개 변수를 제거하면 빈 새 객체 []가 쓸모 없게됩니다. 이는 내가 원하는 것입니다.
위 전화를 단순화 할 수있는 사람이 있습니까?
마지막으로 BeginInvoke가 SelectedIndexChanged 다음에 끝나고 올바른 텍스트로 콤보 상자의 Text 속성을 업데이트한다는 보장이 있습니까?
정말 이러한 질문에 대한 답변을 얻으시면 감사하겠습니다.
컴파일 오류는 람다 식 때문에 발생합니다. Lambda는 C# 3.0의 새로운 기능으로, 간단한 형식의 대리자 작성 구문입니다. –