2011-08-29 4 views
1

ParameterizedThreadStart를 사용하면 거의 효과가 있지만 매개 변수로 개체가 필요하며 이는 매우 잘못되었습니다. ParameterizedThreadStart를 통해 String을 전달할 수 있습니까?문자열 형식의 매개 변수를 사용하는 스레딩

 public void OpenUDirectory(String Directory) 
     { 
       Items.Clear(); 
       foreach (FileInfo FI in new DirectoryInfo(Directory).GetFiles()) 
       { 
        Items.Add(FI.Name); 
       } 
     } 

은 내가 문자열 객체와 기본 메서드를 호출 캐스트 수 있도록 ParameterizedThreadStart에 확장 생성자를 추가하는 아이디어를 내놓았다,하지만 청소 방법은 무엇입니까? 당신이 스레드를 시작할 때 object 같다

public delegate void OpenDD(String Directory); 

답변

3

당신은 상자에 있습니다

나는 그래서 대리인이 나는 Invoke 메서드를 호출해야 확신합니다. 그런 다음 string으로 다시 캐스팅하고 방법을 호출하십시오.

유연성이 뛰어나므로 작동하는 방식입니다.

+0

좋아, 내가 이렇게해야한다면 그렇게 될거야! 당신의 도움을 주셔서 감사합니다. 나는이 방법이 가장 융통성 있고, 사물이 보편적이라는 것을 이해합니다. 감사. –

관련 문제