Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Singleton et classe interne

3 réponses
Avatar
Delf
Bonsoir.

J'ai une classe singleton A qui hérite d'une classe B ; ces 2 classes
sont situées dans un projet de type librairie. A et B sont des classes
'public'.

Comment faire afin que l'on ne puisse pas utiliser B directement
lorsque l'on référence la librairie dans un projet ?

Je ne sais pas si c'est possible étant donné que l'on récupère une
instance de B...

Merci.

--
Delf

3 réponses

Avatar
Guillaume Davion
On 21 août, 22:32, Delf wrote:
Bonsoir.

J'ai une classe singleton A qui hérite d'une classe B ; ces 2 classes
sont situées dans un projet de type librairie. A et B sont des classes
'public'.

Comment faire afin que l'on ne puisse pas utiliser B directement
lorsque l'on référence la librairie dans un projet ?

Je ne sais pas si c'est possible étant donné que l'on récupère une
instance de B...

Merci.

--
Delf



Il suffit de mettre son constructeur par défaut en internal, voir en
private.

De cette façon, il est impossible de l'instancier depuis l'extérieur
de l'assembly.
Avatar
Delf
Guillaume Davion avait soumis l'idée :

Il suffit de mettre son constructeur par défaut en internal, voir en
private.

De cette façon, il est impossible de l'instancier depuis l'extérieur
de l'assembly.



Si le constructeur par défaut est privé, on ne peut même pas instancier
la classe non ? Même dans une des autres classes de l'assembly.
'internal', je ne connaissais pas sur un constructeur, je testerai,
merci de l'aide.

--
Delf
Avatar
Laurent Bugnion, MVP
Salut

Delf wrote:
Guillaume Davion avait soumis l'idée :

Il suffit de mettre son constructeur par défaut en internal, voir en
private.

De cette façon, il est impossible de l'instancier depuis l'extérieur
de l'assembly.



Si le constructeur par défaut est privé, on ne peut même pas instancier
la classe non ? Même dans une des autres classes de l'assembly.
'internal', je ne connaissais pas sur un constructeur, je testerai,
merci de l'aide.



Si le constructeur est privé, on ne peut pas construire une instance,
mais on peut tout à fait utiliser les membres statiques de la classe. De
même, la classe elle même peut construire une instance privée, et c'est
exactement ce qui se passe dans une pattern singleton.


Amitiés,
Laurent
--
Laurent Bugnion [MVP ASP.NET]
Software engineering, Blog: http://www.galasoft.ch
PhotoAlbum: http://www.galasoft.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch