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