2010-10-28 42 views
0

考慮以下類:結合繼承的對象爲C#數據網格

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 
    { 
    //// 
    } 

我試圖綁定B的集合(這是由出對象的)到DataGrid,我得到以下錯誤: 「上的屬性訪問對象‘ID’‘A’扔休耕execption:‘對象不匹配目標類型’」雖然都是從A得到的數據到B

我該怎麼辦 事件?

謝謝!

+0

你是什麼意思「 B(由A物體組成)的集合「?爲了使這個數據綁定工作你的收藏需要是同質的。 – 2010-10-28 12:27:07

+0

「B(由A物體組成)的集合」? - >是的。但顯然它的工作原理! – psu 2010-10-28 15:54:19

回答

0

我明白了。這是我的錯誤,這是我怎麼固定它 收集自CollectionBase繼承那裏我用下面的構造器

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

我所做的只是在B類中添加這

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