OVH Cloud OVH Cloud

Transmettre un "Contexte Utilisateur" à des UserControls

2 réponses
Avatar
Gus
Bonjour à vous Tous !

Voilà je me creuse la tête depuis quelques jours sans trouver de solution
satisfaisante ...

Je cherche à partager le contexte de l'utilisateur connecté (que j'ai défini
sous forme d'une classe "ContexteUser" avec des propriétés partagées 'Shared'
: Nom, Prenom, ...), entre plusieurs UserControls provenant d'assemblées
différentes et que j'instancie dynamiquement dans le code.

Quelle serait d'après vous la façon la plus simple pour "faire voir" cette
classe partagée par l'ensemble des UserControls de la couche présentation ?
NB: quand j'essaie de passer cette classe dans une propriété commune à tous
les UserControls j'ai l'infobulle :
"Access of shared member or nested type through an instance; qualifying
expression will not be evaluated"

Peut-être faudrait-il que je déclare la classe "ContexteUser" différemment ?
Ou y a-t-il plus simple pour partager ces infos que de les transmettre par
des propriétés ?

Merci pour vos commentaires !
Gus

2 réponses

Avatar
Olivier C.
Essaies en remplaçant les mots clés 'Shared' par 'Public'

Gus a écrit :
Bonjour à vous Tous !

Voilà je me creuse la tête depuis quelques jours sans trouver de solution
satisfaisante ...

Je cherche à partager le contexte de l'utilisateur connecté (que j'ai défini
sous forme d'une classe "ContexteUser" avec des propriétés partagées 'Shared'
: Nom, Prenom, ...), entre plusieurs UserControls provenant d'assemblées
différentes et que j'instancie dynamiquement dans le code.

Quelle serait d'après vous la façon la plus simple pour "faire voir" cette
classe partagée par l'ensemble des UserControls de la couche présentation ?
NB: quand j'essaie de passer cette classe dans une propriété commune à tous
les UserControls j'ai l'infobulle :
"Access of shared member or nested type through an instance; qualifying
expression will not be evaluated"

Peut-être faudrait-il que je déclare la classe "ContexteUser" différemment ?
Ou y a-t-il plus simple pour partager ces infos que de les transmettre par
des propriétés ?

Merci pour vos commentaires !
Gus


Avatar
Gus
Merci pour ton conseil.

Si je passe les propriétés de la classe que je souhaite partagée en Public,
alors je dois explicitement créer un Objet avant de pouvoir l'utiliser et
ensuite c'est cet Objet que je devrais partagé.
C'est pour cela que j'ai choisi une classe partagée (Shared) qui par
définition est vue partout dans l'assemblée sans avoir à l'instancier.

Mon problème est de pouvoir également partager cette classe avec les autres
composants provenant d'autres assemblées ?


"Olivier C." a écrit :

Essaies en remplaçant les mots clés 'Shared' par 'Public'

Gus a écrit :
> Bonjour à vous Tous !
>
> Voilà je me creuse la tête depuis quelques jours sans trouver de solution
> satisfaisante ...
>
> Je cherche à partager le contexte de l'utilisateur connecté (que j'ai défini
> sous forme d'une classe "ContexteUser" avec des propriétés partagées 'Shared'
> : Nom, Prenom, ...), entre plusieurs UserControls provenant d'assemblées
> différentes et que j'instancie dynamiquement dans le code.
>
> Quelle serait d'après vous la façon la plus simple pour "faire voir" cette
> classe partagée par l'ensemble des UserControls de la couche présentation ?
> NB: quand j'essaie de passer cette classe dans une propriété commune à tous
> les UserControls j'ai l'infobulle :
> "Access of shared member or nested type through an instance; qualifying
> expression will not be evaluated"
>
> Peut-être faudrait-il que je déclare la classe "ContexteUser" différemment ?
> Ou y a-t-il plus simple pour partager ces infos que de les transmettre par
> des propriétés ?
>
> Merci pour vos commentaires !
> Gus