Я работаю над таймером в C#, просто чтобы пообщаться, так как я никогда раньше этого не делал. Я хотел иметь метод OnTimedEvents, который я объявлял в отдельном классе, поскольку я буду называть его в разных других классах для различных других тестов, но я не могу его правильно вызвать, не получая ошибок. В частности, я получаю No Overload Method for Method '' принимает 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