Verwenden von Attributen einer Klasse aus einer DLL
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
auslese
basteln
beinhaltet folgenden code
beispiel
beschreiben
code
definierte objekte
folgendes problem
hauptprogramm
instanz
objekt
option
problem
problemstellung
prozedur
referenz
set
sinn
test
variable anlegen
-
Hallo,
ich denke, ich hab mal wieder ein Verständnis-Problem.
Ich bin gerade dabei, in C# eine Klassenbibliothek (.dll) zu basteln und habe Probleme damit, die Werte an eine Variable anzuknüpfen.
Kleine Erklärung...
Die DLL beinhaltet folgenden Code:
namespace ClassLibrary1 { public class Test { private static object xval; public static object x { get { return xval; } set { xval = value; } } } }
Also einfach nur eine simple get-set Prozedur für das objekt "xval".
Im Hauptprogramm, in dem ich diese DLL nun via Referenz und "using ClassLibrary1" eingebunden habe, steht mir die Klasse auch zur Verfügung, da habe ich jetzt aber folgendes Problem.
Schreibe ich nun "Test." dann wird mir nach dem "." als Option das Objekt "x" angezeigt...ich kann es beschreiben und auslesen...soweit so gut also.
Lege ich nun für die Klasse via "Test test1 = new Test()" aber eine Variable an, und gebe dann "test1." ein, steht "x" nicht zur Verfügung.
Ich würde meine Klasse aber gerne in einer Variable anlegen, bevor ich sie verwende...wie wäre das zu lösen?
Ich hoffe, meine Problemstellung ist soweit verständlich.
Beitrag zuletzt geändert: 3.2.2012 10:51:45 von adelwoehrer -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo adelwoehrer, das Problem liegt daran, dass du die Variable xval als auch das Objekt x als static angelegt hast. Static bedeutet, dass als static definierte Objekte nur einmal in der Klasse vorkommen, aber nicht auf die Instanzen anwendbar sind.
Es existiert in deinem Beispiel also Test.xval oder Test.x aber nicht
InstanzVonTest = new Test(); InstanzVonTest.x ... InstanzVonTest.xval ...
-
Ahhhh, verstehe.
Ich habe die static gemacht, weil er mir sonst nicht mal mit "Test." etwas zurückgegeben hätte.
Aber es dann trotzdem nochmal mit "new" zu versuchen, kam mir natürlich nicht in den Sinn.
Hat geklappt, vielen Dank! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage