Wątek przeniesiony 2018-02-02 02:34 z C# i .NET przez somekind.

Problem ze zwróceniem ToString bez Dziedziczenia

0

Cześć wszystkim, jestem tu nowy i temat który chcę poruszyć to odwoływanie się do klasy z którą nie mamy relacji.

class B
    {
        private string q;
        private bool w;
        public B(string q, bool w)
        {
            this.q= q;
            this.w= w;
        }
        public override string ToString()
        {
            if (w== true) return string.Format("String  q :{0} , Bool w: TAK", q);
            return string.Format("String  q :{0}, Bool w : NIE", q);
        }
    }
class A 
private int a;
        private double b;
 public A(int a, double b) 
        {
            this.a = a;
            this.b = b;
        }
 public override string ToString() 
        {
            return B.ToString(); + " " + string.Format("Double a , nr: {0}, Int b: {1}", a, b);
      }

Moje pytanie brzmi, czy mogę w jakiś sposób zwrócić B.ToString w A.ToString bez dziedziczenia?
Dopiero się uczę, więc każda rada lub rozwiązanie będzie bardzo pomocne. Z góry dziękuję.

1

W A musisz mieć obiekt B.

class A
{
public B obiektB {get; set;}
}

i jakoś go przypisać np:

var a = new A(...);
a.B = new B(...)

albo przez konstruktor

I jeszcze najważniejsza rzecz do nauki. Normalne tematy na forum.

1
class A
{
//....
        public override string ToString()
        {
            return (new B("ala ma kota", true)).ToString();
        }
}
0

Naprawdę bardzo dziękuję za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1