Mehl: c# speicher/refernz öffentlich machen

Beitrag lesen

Ich rufe in meiner Funktion (FK1) eine Funktion (FK2-PLCcom.TCP_ISO....) auf, die mir eine Schnittstelle öffnet.

PLCDevice plcdevice = new PLCcom.TCP_ISO_Device(ip, xxx...);

Um diese Variable "plcdevice" auch in anderen Funktionen (lesen/schreiben von Schnittstelle) zu nutzen, möchte ich das "plcdevice" öffentlich wird, jedoch nur im gleichen "namespace".

Was meinst du mit "Namespace" und, vor allem, wem soll er "gleichen"?

Du kannst die Variable plcdevice statt innerhalb der Funktion FK1 in jenem Gültigkeitsbereich deklarieren, den FK1 und die anderen Funktionen nutzen.

Statt

Funktion FK1 ()
  Var plcdevice   # Deklaration
  plcdevice = new PLCcom.TCP_ISO_Device()

Funktion FK2 ()
  lese(plcdevice) # Fehler, Bezeichner plcdevice ist hier unbekannt

benutze

Var plcdevice
Funktion FK1 ()
  plcdevice = new PLCcom.TCP_ISO_Device()

Funktion FK2 ()
  lese(plcdevice) # schließt übergeordneten Gültigkeitsbereich ein

Das gehört aber zum kleinen Programmier-Einmaleins und sollte dir bekannt sein, weshalb ich nicht nachvollziehen kann, wo dein Problem liegt bzw. was dir unter "gleicher Namespace" vorschwebt.