Moin, habe folgende Klasse:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
und möchte cmsg in einer anderen Klasse verwenden. Mit 'extern cmsg;' funktioniert das nicht. Was muss ich tun?
|
Anzeige
|
C#: extern-BefehlMoin, habe folgende Klasse:
und möchte cmsg in einer anderen Klasse verwenden. Mit 'extern cmsg;' funktioniert das nicht. Was muss ich tun?
Gast
#2156523
Marcel R. schrieb: > und möchte cmsg in einer anderen Klasse verwenden. Mit 'extern cmsg;' > funktioniert das nicht. Was muss ich tun? deine Frage verständlich Formulieren - ich habe keine Ahnung was du meinst. Ich habe cmsg als Message da definiert, wo ich den CAN-Zugriff initalisiere. Den Write-Befel habe ich aber als Funktion in einer anderen Datei und Klasse. Jetzt muss ich doch irgendwie wie bei globalen Variablen (z.B. extern int bla") die cmsg in der anderen Klasse einbinden.
Gast
#2156538
Marcel R. schrieb: > Ich habe cmsg als Message da definiert, wo ich den CAN-Zugriff > initalisiere. Den Write-Befel habe ich aber als Funktion in einer > anderen Datei und Klasse. Jetzt muss ich doch irgendwie wie bei globalen > Variablen (z.B. extern int bla") die cmsg in der anderen Klasse > einbinden. ich versteht immer noch nicht genau, warum gibt du dem Write nicht als Parameter das cmsg mit? Ich glaube du hast den Objektorientierten Ansatz noch nicht verstanden, sotwas wie globale Variabeln machen keinen Sinn und führen eh meist zu problemen. Man könnte auch Methoden die ohne Objekt sind als Static deklarieren dann kann man sie einfach so aufrufen. Zeige etwas mehr von den Code, eventuell kann man da noch etwas machen. Hier gibts Code: Die Methode can_write möchte ich woanders auslagern (in eine andere Datei)
Gast
#2156613
Stichwort Getter/Setter-Methoden
Gast
#2156617
Das schaut alles etwas Prozedural aus. Normalerweise sollte man GUI und Funktion trennen. Also einfach eine Klasse für deine CAN Geschichten machen und die Funktionen als Public deklarieren. Dann kannst aus der GUI Klasse (MainForm) die entsprechenden Funktionen einfach aufrufen. Gruß Matthias
Gast
#2156790
Marcel R. schrieb: > und möchte cmsg in einer anderen Klasse verwenden. Mit 'extern cmsg;' > funktioniert das nicht. Was muss ich tun? Gibt das cmsg-Objekt beim erzeugen der anderen Klasse einfach als Konstruktur-Parameter mit. Fusch-Lösung: cmsg static machen, dann kann in der anderen Klasse über MainForm.cmsg drauf zugegriffen werden Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|