Korzystałeś kiedyś z uruchamiania programów za pomocą konsoli?
Np. ping onet.pl -t -l
ping to nazwa programu, a onet.pl, -t, -l to parametry przekazywane do metody main.
Tak się składa, że windows podstawia jako pierwszy parametr w tablicy nazwę pliku na rzecz, którego wykonujesz wybrany program.
Czyli jeśli z konsoli uruchomisz np.
notepad C:\plik.txt
To powinien Ci się uruchomić notatnik systemowy z już otworzonym tym plikiem plik.txt
Kod realizujący wypisanie do konsoli zawartości pliku na rzecz, którego uruchamiasz program może wyglądać mniej więcej tak.
static void Main(string[] args)
{
var filePath = args.FirstOrDefault();
var content = !String.IsNullOrEmpty(filePath) && File.Exists(filePath)
? File.ReadAllText(filePath)
: "Brak parametru lub plik nie istnieje.";
Console.Write(content + "\n");
Console.ReadLine();
}