我觉得我的问题很愚蠢,或者换一种说法是:我太迷失在我的代码中,暂时看不到解决方法。在一个问题上停留太久,你的视野会越来越窄><。另外,我对继承、多态性等还不够好
这是想法:我有多个派生类列表,我想在这些列表上调用泛型函数(访问和修改基类的成员)。我觉得与继承有关,但我现在无法让它按我的意愿工作。
这是我打算做的一个非常简单的例子:
class Baseclass
{
public int ID;
public string Name;
}
class DerivedClass1 : Baseclass
{
}
private void FuncOnBase(List<Baseclass> _collection)
{
// ...
foreach (Baseclass obj in _collection)
{
++obj.ID;
}
// ...
}
private void FuncTest()
{
List<DerivedClass1> collection1 = new List<DerivedClass1>();
collection1.Add(new DerivedClass1() { ID = 1 });
collection1.Add(new DerivedClass1() { ID = 2 });
collection1.Add(new DerivedClass1() { ID = 3 });
FuncOnBase(collection1); // ==> forbidden, cannot convert the derived class list to the base class list
}