OVH Cloud OVH Cloud

Property avec accès différent aux get() et set()

3 réponses
Avatar
cyrille
Salut,

Je me demande si c'est possible ... car je ne trouve pas la syntaxe ...

J'aimerais donner l'acc=E8s =E9criture sur un membre quand l'action est d=
ans le meme namespace,
et donner un acc=E8s lecture seule quand l'action est dans un autre names=
pace.

Pour mieux m'expliquer,
voici quelque exemples ; qui ne fonctionne pas bien s=FBr ;o)

public string Name {
get { return name ; }
}
internal string Name {
set { name =3D value ; }
}

ou encore :

string Name {
public get { return name ; }
internal set { name =3D value ; }
}

J'esp=E8re avoir =E9t=E9 compris ;o)

merci,
cyrille

3 réponses

Avatar
c2i-Richard Clark [MVP]
La notion de namespace n'existe pas (désolé d'être si brutal). C'est juste
histoire de dire qu'on range correctement nos chaussettes. Mais le VRAI nom
d'un type, c'est le nom complet (ie namespace + nom).

Donc toutes les fonctionnalités d'accès ne sont liées qu'au VRAI nom, pas au
"friendly name".

En revanche, comme le montre ton code, un type est dans la même assembly ou
non.

--
Richard Clark
http://www.c2i.fr - Le portail .NET
[Microsoft MVP .NET]
______________________________________________
'Au coeur de VB .NET' (MS Press, 430 pages, 34 euros)
http://www.amazon.fr/exec/obidos/ASIN/2100065645/c2ifrleportad-21
______________________________________________

"cyrille" wrote in message
news:%
Salut,

Je me demande si c'est possible ... car je ne trouve pas la syntaxe ...

J'aimerais donner l'accès écriture sur un membre quand l'action est dans le
meme namespace,
et donner un accès lecture seule quand l'action est dans un autre namespace.

Pour mieux m'expliquer,
voici quelque exemples ; qui ne fonctionne pas bien sûr ;o)

public string Name {
get { return name ; }
}
internal string Name {
set { name = value ; }
}

ou encore :

string Name {
public get { return name ; }
internal set { name = value ; }
}

J'espère avoir été compris ;o)

merci,
cyrille
Avatar
cyrille
merci richard,

c2i-Richard Clark [MVP] wrote:
La notion de namespace n'existe pas (désolé d'être si brutal). C' est juste
histoire de dire qu'on range correctement nos chaussettes. Mais le VRAI nom
d'un type, c'est le nom complet (ie namespace + nom).



si vraiNom = namespace + nom
alors namespace est un peu là pour quelque chose ;o)


Donc toutes les fonctionnalités d'accès ne sont liées qu'au VRAI nom, pas au
"friendly name".



à part la rangement, qu'est que l'on peut tirer des namespace ?


En revanche, comme le montre ton code, un type est dans la même assem bly ou
non.



Du coup, si je veux jouer avec internal, il faut que je range les choses dans des assemblies différentes ?
ça va en faire des tonnes de projets dans la solution (VS.NET).
Avatar
Zazar
Bonjour,

Je me demande si c'est possible ... car je ne trouve pas la syntaxe ...

J'aimerais donner l'accès écriture sur un membre quand l'action est dans le


meme namespace,
et donner un accès lecture seule quand l'action est dans un autre


namespace.

En plus de la remarque de Richard Clark : actuellement il est impossible
d'affecter à un accesseur une portée différente en lecture et en écriture.
Dans la version 2 du framework se sera possible, mais en attendant il faut
faire 2 accesseurs/méthodes différents.

--
Zazar