C# - Comment appeler une méthode static void main

J'ai un code en static void main, bien que je le voudrais appeler l'startremdup méthode (comme il appelle la RemoveDuplicate, avec les paramètres appropriés) à partir de static void main, j'ai essayé startremdup();

private void RemoveDuplicate(string sourceFilePath, string destinationFilePath)
{
    var readLines = File.ReadAllLines(sourceFilePath, Encoding.Default);

    File.WriteAllLines(destinationFilePath, readLines.Distinct().ToArray(), Encoding.Default);
}


private void startremdup(object sender, EventArgs e)
{
    RemoveDuplicate("C:\test.txt", "C:\test2.txt");
}
Ces méthodes sont-elles dans la même classe que votre méthode principale?
Vous ne pouvez pas appeler une méthode d'une instance à partir d'une méthode statique sans d'abord créer une instance de la classe à laquelle elle appartient. Essayez de créer une instance de la classe, c'est à dire SomeClass sc = new SomeClass();, où startremdup et RemoveDuplicate font partie de SomeClass, puis accéder aux méthodes via SomeClass, c'est à dire sc.startremdup();. Alternativement, si elles font partie de la classe statique, vous avez besoin d'une étiquette sur les méthodes statiques.
Aussi, ce que vous êtes de passage dans l'objet et EventArgs params à votre startremdup méthode?....et aussi....startremdup est un terrible nom de la méthode...il serait plus clair si vous avez tout simplement appelé le RemoveDuplicate() la méthode plutôt que l'enveloppant dans un obscurément méthode nommée.
Je suppose que le startremdump est appelé sur un événement (comme un clic sur un bouton), d'où l'expéditeur et le eventargs paramètres, qui sont nécessaires pour la base de gestionnaires d'événements dans C#.
Il dit qu'il l'appeler à partir de sa méthode principale. haussement d'épaules

OriginalL'auteur Michael | 2011-06-17