Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# - How to call a method from static void main

Tags:

c#

.net

windows

I have some code in static void main, although I would like it to call the startremdup method (as it calls the RemoveDuplicate, with the appropriate parameters) from static void main, I have tried 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");
}
like image 315
Michael Avatar asked Jun 17 '11 15:06

Michael


People also ask

What C is used for?

C programming language is a machine-independent programming language that is mainly used to create many types of applications and operating systems such as Windows, and other complicated programs such as the Oracle database, Git, Python interpreter, and games and is considered a programming foundation in the process of ...

What is the full name of C?

In the real sense it has no meaning or full form. It was developed by Dennis Ritchie and Ken Thompson at AT&T bell Lab. First, they used to call it as B language then later they made some improvement into it and renamed it as C and its superscript as C++ which was invented by Dr.

Is C language easy?

C is a general-purpose language that most programmers learn before moving on to more complex languages. From Unix and Windows to Tic Tac Toe and Photoshop, several of the most commonly used applications today have been built on C. It is easy to learn because: A simple syntax with only 32 keywords.

What is C in C language?

What is C? C is a general-purpose programming language created by Dennis Ritchie at the Bell Laboratories in 1972. It is a very popular language, despite being old. C is strongly associated with UNIX, as it was developed to write the UNIX operating system.


3 Answers

startremdup is an instance method. That means you need to call it on an instance of whatever class it's contained in. For example:

Foo foo = new Foo();
foo.startremdup(null, EventArgs.Empty);

Personally it looks like it should be a static method to start with - and preferably one with a more sensible name - but that's why it's not working at the time.

If I were you, I'd actually put down your current task and pick up a good introductory C# book - learn the difference between static and instance members, etc.

like image 122
Jon Skeet Avatar answered Oct 15 '22 15:10

Jon Skeet


Make both startremdup() and RemoveDuplicate() static.

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

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


private static void startremdup(object sender, EventArgs e)
{
    RemoveDuplicate("C:\test.txt", "C:\test2.txt");
}
like image 24
Bala R Avatar answered Oct 15 '22 13:10

Bala R


Make your methods static as well.

like image 2
Jerad Rose Avatar answered Oct 15 '22 15:10

Jerad Rose