IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[interface] Copie + Cast de collection


Sujet :

C#

  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Points : 661
    Points
    661
    Par défaut [interface] Copie + Cast de collection
    Salut à tous,

    Sachant que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public interface InterfaceA : interfaceB {...}
    , j ai une fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void fonction(ICollection<InterfaceB> _param){...}
    et je lui donne un objet de ce type à manger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ICollection<InterfaceA> ObjA=...;
    fonction(ObjA);
    .

    Evidemment ca demande un cast -->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fonction((ICollection<InterfaceB>)ObjA)
    On m'a mis en garde sur cette facon de faire : Il paraitrait que c est une nouvelle collection qui serais creer et les objets interne serais recopiés, d ou la perte de l'integrité referencielle.

    Pouvez vous affirmé ou infirmé et dans le cas echeant proposer une solution ?
    merci

    PS : j' ai lu un article interessant sur la simulation de covariance pour les collections génériques

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    je ne pense pas, mais c'est testable
    tu rajoutes un element sur l'objet passé en paramètre
    et tu regardes s'il y est dans celui casté

    par contre depuis visual studio 2008, il y a des trucs genre .ToList qui sont apparus pour transformer une collection en une autre et là en effet ca fait une copie des objets à l'intérieur

Discussions similaires

  1. [WD-2007] Copie d'une collection de Fields
    Par yaraco dans le forum VBA Word
    Réponses: 7
    Dernier message: 08/12/2011, 10h10
  2. Copie d'une collection dans un tableau
    Par hlbnet dans le forum Collection et Stream
    Réponses: 16
    Dernier message: 11/03/2011, 14h07
  3. Probleme de cast en constructeur copy.
    Par hickscorp dans le forum C++
    Réponses: 13
    Dernier message: 23/08/2006, 14h06
  4. Réponses: 8
    Dernier message: 01/03/2006, 18h41
  5. [Collections] L'interface "Iterator" à quoi ça sert
    Par Samanta dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 07/04/2005, 17h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo