저는 이전에 한번도 해본 적이 없기 때문에 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);
}
}
이 :)
조언 : 설명 적으로 오류를 공유하십시오 (긴밀하게 읽은 후, 의미와 생각을 생각한 후). – user2864740
그냥 짐작 하긴하지만 MSOfficeApp와 appWord가 모두 정적이되도록하고 싶습니다. – juharr
계속해서 오류가 발생했습니다. 정적은 도움이되지 않습니다. – SavvyK