Kako limitirati instantaciju objekta u c#???

poruka: 4
|
čitano: 1.060
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
offline
Kako limitirati instantaciju objekta u c#???
pitanje

Konkretno: imam klasu A i Factory.

Želim da klasu A može kreirati samo factory i niti jedna druga!!!!

Tražim nešto kao Friend u c++.

 

Molim pomoć..

Hvala

 

 
0 0 hvala 0
17 godina
protjeran
offline
RE: Kako limitirati instantaciju objekta u c#???

Definiraj klasu A unutar klase Factory. Tako ćeš joj ograničiti područje definicije (scope).

 

A friend u C++u se odnosi na funkcije, a ne klase.

17 godina
neaktivan
offline
RE: Kako limitirati instantaciju objekta u c#???

Kako misliš "kreirati"? friend se odnosi na članove roditeljske klase. Najbliža zamjena za friend u C#-u je internal, što se odnosi na assembly u kojem je klasa definirana.

Možeš koristiti i protected, ali i u tom slučaju moraš malo prilagoditi dizajn jer to označava nešto drugo.

U svakom slučaju ti savjetujem da redizajniraš kod i prilagodiš ga C# jeziku.

16 godina
neaktivan
offline
RE: Kako limitirati instantaciju objekta u c#???

1->

class A

{

    private class B {}

}

 

ili

2->

namespace xy {

    internal class B {}

    public class A {}

}

 

1. je ograničen na klasu A (B nemože biti vidljiviji od A)

2. je ograničen na assembly xy

i 3. korisiti seal keyword (pronudlaj)

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice