ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
646
646
EMPFEHLEN
-
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.
-
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
-
Jawoll, so gehts.
Vielen Dank
Ähnliche Themen
-
String[] args für Servlet
Von xrax im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 16.06.08, 14:45 -
Linux Webserver + MESA Tools @ ARGS
Von Hawkings im Forum Linux & UnixAntworten: 3Letzter Beitrag: 14.08.07, 09:28 -
args[0]
Von netrobot im Forum JavaAntworten: 3Letzter Beitrag: 20.12.05, 17:44 -
string[] args in normaler Windows Anwendung
Von yan1 im Forum .NET ArchivAntworten: 2Letzter Beitrag: 14.03.05, 20:02 -
args[] von String nach int umwandeln
Von BeKos im Forum JavaAntworten: 6Letzter Beitrag: 11.11.03, 16:59





Zitieren
Login





