Autor Beitrag
relapse
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50



BeitragVerfasst: Do 22.03.12 16:22 
Wie kann ich ein Objekt initialisieren, dessen Klasse nur einen parameterlosen Konstruktor haben darf, muss aber Daten von außen holen?



Danke!
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 22.03.12 17:07 
Hallo relapse,

was genau meinst du mit "Daten von außen holen"?
Und warum darf die Klasse nur einen parameterlosen Konstruktor haben? Meinst du zur Serialisierung?
relapse Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50



BeitragVerfasst: Do 22.03.12 17:51 
Zitat:
was genau meinst du mit "Daten von außen holen"?

Ich meinte einen Konstruktor mit Parametern, den ich nicht verwenden kann. Warum? Weil es sich um ein ActiveX-Control handelt und es nur einen Standardkonstruktor hat.

Ich hab's aber mit static gelöst:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
public class KlasseOhneKonstruktor{
    public static double SollBreite;
    private double _zielBreite;
    public double Breite { get { return _zielBreite; } }
    //  im Konstruktor:
    public KlasseOhneKonstruktor(){
      _zielBreite = SollBreite;}
}
//////////////////////////////////////////////////////////////
    class Program
    {
        static void Main(string[] args)
        {
            KlasseOhneKonstruktor.SollBreite = 50.0;
            var kok = new KlasseOhneKonstruktor();
            var breite = kok.Breite;  // 50
        }
    }
ujr
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 102
Erhaltene Danke: 12



BeitragVerfasst: Fr 23.03.12 10:58 
user profile iconrelapse hat folgendes geschrieben Zum zitierten Posting springen:
Ich hab's aber mit static gelöst:


Was heißt "gelöst"? Was ist denn das eigentliche Problem? Mit anderen Worten: was ist Deine Ausgangssituation und was willst Du tun?

"static" ist wohl kaum eine Lösung. Evtl. schau mal nach "Klassen initialisieren" (msdn.microsoft.com/d...rary/bb397680.aspx).