kostenloser Webspace werbefrei: lima-city


Verwenden von Attributen einer Klasse aus einer DLL

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    adelwoehrer

    Kostenloser Webspace von adelwoehrer

    adelwoehrer hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t*****b

    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 ...

  4. Autor dieses Themas

    adelwoehrer

    Kostenloser Webspace von adelwoehrer

    adelwoehrer hat kostenlosen Webspace.

    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! :thumb:
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!