2017-09-04 63 views
1

我开始学习C#和我碰到这个错误就无法隐式转换成类ArrayList中

无法转换隐式转换成动物 System.Collections.ArrayList

这是代码

private Animal adoptedPets; 
public Animal AdoptedPets 
{ 
     get { return adoptedPets;} 
     set {adoptedPets = value;} 
} 

我想设置一个列表Animals到我的对象的这个属性。我试图像这样(ArrayList) adoptedPets投下我的名单,但它没有工作,给了我上面的错误。

+1

但是怎么样?已采纳的宠物会返回1个动物...为什么要将它列入清单? –

+7

鉴于代码不足以重现问题。 – Sinatr

+0

我认为问题发生在您尝试使用值设置AdoptedPets属性时,并且您的代码片段似乎没有任何问题。 –

回答

1

如果你想adoptedPets是一个List<Animal>而不只是一个Animal,你应该这样声明。最好将宣布其A S

private IList<Animal> adoptedPets; 
public IList<Animal> AdoptedPets 
{ 
     get { return adoptedPets;} 
     set {adoptedPets = value;} 
} 

注意IList而不是List。您也可以使用IEnumerable。这是一个很好的实践,因此可以分配任何类型的列表。

现在,我假设你想要你的adoptedPets存储Animal s列表。但是,在你的问题中你完全不确切。

+0

不能投票,没有足够的代表。无论如何,我编辑了这个问题。 – Pac0

相关问题