C# Eine eigene Referenzklasse erstellen?

roker002

Commander
Registriert
Dez. 2007
Beiträge
2.103
Ich habe im C++ code gesehen dass alle Controls eigentlich Referenzklassen sind (bin eigentlich kein C++ Kenner. Musste damit arbeiten aber nicht lang genug). Jetzt verstehe ich wieso in C# alles Controls keinen ref bedürfen, da es sich immer um eine Referenzklasse handelt.

Ich habe nachgedacht. Kann man eigene Referenzklasse zusammenbasteln? Ich habe versucht mit "public ref class bla" aber es geht nicht.

Kennt da vielleicht jemand was? Im google hat die suche nichts erbracht.
 
Durch Klassen werden immer Referenztypen definiert, daran kannst du gar nichts ändern. Im Gegensatz dazu gibt es Structs, die Wertetypen definieren.
 
Also wenn ich eine Klasse durch den Konstruktor übergebe muss ich nicht.... najut hier ist ein Beispiel.

Code:
class XYZ: system.windows.forms
{
    public ABC test
    {
         get;
         set;
    }
    public XYZ(ABC meintest)
    {
        this.test = meintest;
    }
}

///Klasse zum übergeben.
class ABC
{
    ....
}


class PPP: system.windows.forms
{
    private void OnKlick(O sender, event args)
    {
        ABC meintest = new ABC();
        XYZ test = new XYZ(meintest);
        if(test.showdialig() == Dialogresult.OK)
        {
            meintest = test.test; ///Dann ist das hier überflüssig?
        }
    }
}
 
Ich kapier zwar nicht so recht was du da in der Zeile bezwecken willst, wo du die Vermutung hast, dass sie überflüssig ist, aber diese Zuweisung bringt in der Tat genau nichts.
Die Objektvariable "meintest" referenziert das selbe Objekt, wie die Property von "test" bzw. das Datenfeld hinter der Property, weil in Objektvariablen nunmal immer Referenzen auf ein Objekt im Heap gespeichert werden. In diesem Fall zeigen alle auf das selbe Objekt.
 
gut... ich dachte dass die Objekte nicht referenziert werden und deswegen immer wieder aufgefrischt werden müssen wenn sich da was verändert hat!
 
Zurück
Oben