tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
646
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    wolli2003 wolli2003 ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    6
    Hallo,

    versuche in einer WindowsCE Anwendung den Übergabeparameter im Programmaufruf auszuwerten. Habe hierfür den Code im Main-Aufruf um "string [] args" erweitert:

    static void Main(string [] args)
    {
    ApplicationEx.Run(new Frm_WEMain());
    }

    Innerhalb der Main kann ich auf die einzelnen Strings in args wunderbar zugreifen. Versuche ich allerdings in einer anderen Memberfunktion auf args zuzugreifen, kennt diese die Variable nicht (ist auch logisch). Also habe ich versucht, für die gesamte Klasse eine string-Variable anzulegen und in der Main den args[0] in diesen String zu kopieren. Das sieht wie folgt aus:

    namespace OpenNETCFApplication5
    {
    using System;
    using System.Drawing;
    using System.Collections;
    using System.Windows.Forms;
    using System.Data;

    using OpenNETCF;
    using OpenNETCF.Drawing;
    using OpenNETCF.Windows.Forms;
    using OpenNETCF.Diagnostics;


    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Frm_WEMain : System.Windows.Forms.Form
    {
    string sStartParam;
    ...

    Die Main hat jetzt folgenden Aufbau:

    static void Main(string [] args)
    {
    sStartParam = args[0].ToString();
    ApplicationEx.Run(new Frm_WEMain());
    }

    Aber jetzt meckert der Compiler:

    "An object reference is required for the nonstatic field, method, or property 'OpenNETCFApplication5.Frm_WEMain.sStartParam'"

    Mein Versuch, jetzt auf this zu verweisen war dann allerdings auch nicht richtig:
    static void Main(string [] args)
    {
    this.sStartParam = args[0].ToString();
    ApplicationEx.Run(new Frm_WEMain());
    }

    Jetzt meckert der Compiler folgendes:
    "Keyword this is not valid in a static property, static method, or static field initializer"
    (Er unterstreicht dabei das this)

    Es muss doch irgend eine einfache Möglichkeit geben, in sämtlichen Klassen auf die Übergabeparameter zuzugreifen, oder?

    Bin wieder einmal für jeden Hinweis dankbar.
     

  2. #2
    LieberNet LieberNet ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Ort
    Wels
    Beiträge
    38
    Hi!
    Versuch doch mal den String den Du für alle anderen Klassen zur Verfügung stellst Static zu machen. Die main ist eine Static Methode und somit müssen auch alle Elemtente darin static sein. Sobald Du also ein Objekt (wie. z.B. "this" - was ja nichts anderes ist als das aktuelle Objekt Deiner Klasse) benötigen würdest wäre die Methode ja nicht mehr static.
    So sollte es funktionieren:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    namespace ConsoleApplication1
    {
        /// <summary>
        /// Summary description for Class1.
        /// </summary>
        class Class1
        {
            public static string mytype = "";
     
            [STAThread]
            static void Main(string[] args)
            {
                mytype = args[0];
            }
        }
    }

    Hoffe das hilft
    Ciao
    LieberNet
     

  3. #3
    wolli2003 wolli2003 ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    6
    Jawoll, so gehts.

    Vielen Dank
     

Ähnliche Themen

  1. String[] args für Servlet
    Von xrax im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 16.06.08, 14:45
  2. Linux Webserver + MESA Tools @ ARGS
    Von Hawkings im Forum Linux & Unix
    Antworten: 3
    Letzter Beitrag: 14.08.07, 09:28
  3. args[0]
    Von netrobot im Forum Java
    Antworten: 3
    Letzter Beitrag: 20.12.05, 17:44
  4. string[] args in normaler Windows Anwendung
    Von yan1 im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 14.03.05, 20:02
  5. args[] von String nach int umwandeln
    Von BeKos im Forum Java
    Antworten: 6
    Letzter Beitrag: 11.11.03, 16:59