我在使用这段代码时遇到了问题:
List<Person> persons;
foreach(var p in persons)
p.Save();
有几个类派生自Person
所有这些类,它们都有自己的new Save()
方法。不幸的是,上面的代码只调用了基类的保存方法,尽管列表包含不同类型的实例(基类和派生类)。
所有派生类都包含所有基类的字段,只是Save
方法不同,因此它还保存了派生类的字段。
如何Save
根据当前迭代的变量类型使该循环调用适当的方法?