DCSIMG
How to get the return value of main - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

How to get the return value of main

 
מתודת Main יכולה להחזיר או void או int, בדרך כלל היא תהיה void אבל לפעמים נרצה לכתוב אפליקציות שיחזירו ערך כלשהו (בדרך כלל האם הצליח או מספר שגיאה), בפוסט הזה נראה כיצד אפשר לקרוא את הערך שחוזר מתוך אותם שפליקציות שמחזירות int.
 
 
לצורך הדוגמא נניח שיש לנו Console Application אחד שמקבל שלושה פרמטרים (שני מספרים וסימן החישוב) ומחזיר את התוצאה. הקוד יראה כך:
 
 

static int Main(string[] args)

{

    int num1 = int.Parse(args[0]);

    int num2 = int.Parse(args[1]);

    int res = 0;

 

    switch (args[2])

    {

        case "+": res = num1 + num2;

            break;

        case "-": res = num1 - num2;

            break;

        case "*": res = num1 * num2;

            break;

        case "/": res = num1 / num2;

            break;

    }

 

    return res;

}

 
כעת יש לנו פרוייקט אחר שרוצה להפעיל את ה - Console Application ולקבל בחזרה את הערך (לא כהפעלת מתודה אלא להריץ את ה - prosess).
 
נכתוב את הקוד הבא:
 

static void Main(string[] args)

{

    string path  = @"file.exe";

    Process process = Process.Start(path, "2 3 +");

    process.WaitForExit();

    int res = process.ExitCode;

    Console.WriteLine(res);

}

 
 
כמובן ש - path.exe צריך להיות שם הקובץ האמיתי, נפעיל את ה - process ונשלח את הפרמטרים המתאימים.
 
נעצור את האפליקציה שלנו עד שה - process יסתיים.
 
המאפיין ExitCode יכיל את הערך שחזר מה - main
 
פורסם: Jan 12 2011, 01:35 PM by Shlomo | with no comments
תגים:,
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 6 and 7 and type the answer here:


Enter the numbers above: