2010-10-28 7 views
0

Vu les classes suivantes:lier des objets hérités à C# DataGrid

class A : Idata 
{ 
     private int _id; 
     //other private fields 

     public int Id 
     { 
      get { return _id; } 
      set { _id = value; } 
     } 
     //other property 
} 
class B : A 
{ 
     private int _field; 
     //other private fields 

     public int Field 
     { 
      get { return _field; } 
      set { _field = value; } 
     } 
     //other property 
    } 

    class BCollection : Collection 
    { 
    //// 
    } 

Je suis en train de se lier à une collection de B (qui est composé à partir d'un objet) à un DataGrid et je reçois l'erreur suivante: « accesseur de propriété « id » sur l'objet « A » a lancé la mise en jachère Execption:« l'objet ne correspond pas au type cible » événement si toutes les données de A à B obtient

Que dois-je faire?

Merci!

+0

Que voulez-vous dire par " une collection de B (qui est composée d'objets A) "? Pour que cette liaison de données fonctionne, votre collection doit être homogène. –

+0

"une collection de B (qui est composée d'objets A)"? -> oui. mais apparemment ça marche! – psu

Répondre

0

Je l'ai eu. ce fut mon erreur c'est ainsi que je l'ai fixé Collection hérite de CollectionBase où je le contructor suivant

public IData this[int index] 
     { 
      get { return (IData)List[index]; } 
      set { List[index] = value; } 
     } 

tout ce que je n'ajoutais cela dans la classe B

public B this[int index] 
     { 
      get { return (B)List[index]; } 
      set { List[index] = value; } 
     } 
Questions connexes