2014-12-29 4 views
-1

저는 이전에 한번도 해본 적이 없기 때문에 C#으로 타이머를 작업하고 있습니다. OnTimedEvents 메서드를 다른 클래스에서 여러 다른 클래스에서 호출 할 것이므로 별도의 클래스로 선언 했으므로 오류가 발생하지 않고 제대로 호출 할 수 없습니다. 특히, 메서드에 대한 오버로드 메서드가 없습니다. ''0 개의 인수가 사용됩니다. 나는 다른 방법으로 가지고있는 것처럼이 문제를 해결할 수 없습니다. 이 코드입니다 :다른 클래스에서 메서드를 호출 할 때 문제가 발생했습니다.

class MSOfficeApps { 
    public static Timer aTimer; 

    public void appWord() { 
     var programCS = new Program(); 
     Microsoft.Office.Interop.Word.Application WordObj; 
     WordObj = (Microsoft.Office.Interop.Word.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application"); 
     for(int i = 0; i < WordObj.Windows.Count; i++) { 
      object idx = i + 1; 
      Microsoft.Office.Interop.Word.Window WinObj = WordObj.Windows.get_Item(ref idx); 
      Console.WriteLine(WinObj.Document.FullName); 
      aTimer = new System.Timers.Timer(600000); //Sets timer to 6 minute increments 
      aTimer.Elapsed += ElapsedEventHandler(programCS.OnTimedEvent()); //Throwing an error at programCS.OnTimedEvent() 
     } 
    } 

그리고 이것은 내가

class Program { 
    private static void Main(string[] args) { 
     SearchProcesses sP = new SearchProcesses(); 

     sP.BuildProcessLists(); 

     Console.WriteLine("Press Enter to exit the program..."); 
     Console.ReadLine(); 
    } 

    public static void OnTimedEvent(Object source, ElapsedEventArgs e) { 
     Console.WriteLine("Event was raised at {0}", e.SignalTime); 
    } 
} 

이 :)

+3

조언 : 설명 적으로 오류를 공유하십시오 (긴밀하게 읽은 후, 의미와 생각을 생각한 후). – user2864740

+0

그냥 짐작 하긴하지만 MSOfficeApp와 appWord가 모두 정적이되도록하고 싶습니다. – juharr

+0

계속해서 오류가 발생했습니다. 정적은 도움이되지 않습니다. – SavvyK

답변

0

변경에게 알려 주시기 바랍니다 호출 할 노력하고있어입니다

aTimer.Elapsed += ElapsedEventHandler(programCS.OnTimedEvent()); 

aTimer.Elapsed += ElapsedEventHandler(programCS.OnTimedEvent); 

programCS.OnTimedEvent를 참조로 전달하지 않고 인수없이 호출하므로 오류가 발생합니다.

+0

나는 자신을 때 리고있어,이게 그거야. ElapsedEventHandler가 오류 ('유형'이지만 '변수'처럼 사용됨)를 던지고 있지만 직접 수정할 수는 있습니다. 데이빗 감사합니다! – SavvyK

+0

걱정할 필요가 없습니다. 그러나 당신이 미래에 당신의 질문에 모든 오류 세부 사항을 제공한다면 사람들은 당신을 더 빨리 도울 수있을 것이고 당신은 투표를 거치거나 가까운 표를 볼 가능성이 적습니다 :) –

관련 문제