funkcja sub-klasy używa funkcji klasy

0

Hej jestem początkujący w C#, czy może mi ktoś wyjaśnić jak zapisać poprawnie

...

 
public KlasaA
{
    public void FunA(){}

   public KlasaB
   {
        public void FunB()
        {
                KlasaA::FunA();
        }
   };

   KlasaB B;
};
KlasaB A;

...

Chcę mieć dostęp w stylu

A.B.FunA();
0

Zdrowo przekombinowałeś. Może lepiej napisz co chcesz zaimplementować, bo zdaje się że złą drogę obrałeś.

1
class A
{
    public B field;
    public B Property {get{return _ppp;} set{_ppp=value;}}
}
class B
{
    public void funkcja(){ /*costam*/ }
}

....
A cosik = new A();
cosik.field = new B();
cosik.Property = new B();
...
cosik.field.fun()
cosik.Property.fun()

field/property mogą też być statyczne, tak samo jak i metody:

class A
{
    public static B field;
    public static B Property {get{return _ppp;} set{_ppp=value;}}
}
class B
{
    public void funkcja(){ /*costam*/ }
}

....
A.field = new B();
A.Property = new B();
...
A.field.fun()
A.Property.fun()

metody też mogą być statyczne:

class B
{
    public static void funkcja(){ /*costam*/ }
}

....
B.fun()

a takze klasy i metody moga siedziec w srodku innych:

class A
{
    public B field;
    public B Property {get{return _ppp;} set{_ppp=value;}}

    class B
    {
        public void funkcja(){ /*costam*/ }
    }
}
....
A cosik = new A();
cosik.field = new A.B();
cosik.Property = new A.B();
...
cosik.field.fun()
cosik.Property.fun()

a takze statycznie:

class A
{
    class B
    {
        public static void funkcja(){ /*costam*/ }
    }
}
....
A.B.fun()

to ostatnie odpowiada doslownie na to, o co prosiles. pierwsze - to co sadze ze chciales uzyskac.
nie są to w szystkie kombinacje, mieszać można prawieże dowolnie

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