C# C向基类集合添加派生类
================================================================================ 如果我是正确的,多态性不应该允许我将派生类型存储在C# C向基类集合添加派生类,c#,collections,C#,Collections,================================================================================ 如果我是正确的,多态性不应该允许我将派生类型存储在 基本类型?为什么这对我没用 对我来说很好。您的问题中的代码缺少一些大括号和其他东西,但一旦修复,它就可以编译并在我的编译器上正常工作。下面是固定代码 public abstract class Person { protected string name;
基本类型?为什么这对我没用 对我来说很好。您的问题中的代码缺少一些大括号和其他东西,但一旦修复,它就可以编译并在我的编译器上正常工作。下面是固定代码
public abstract class Person
{
protected string name;
public Person(string firstName)
{
name = firstName;
}
{
public BusinessPerson : Person
{
public BusinessPerson(string newName) : base(newName)
{
}
}
public class Group : CollectionBase
{
public void Add(Person newPerson)
{
List.Add(newPerson);
}
}
int Main
{
Group VariousPeople = new Group();
VariousPeople.Add(new BusinessPerson("Jack")); // says invalid arguments
}
那个些带有明显语法错误的代码在我的机器上运行良好
internal class Program
{
private static void Main(string[] args)
{
Group VariousPeople = new Group();
VariousPeople.Add(new BusinessPerson("Jack"));
}
}
public abstract class Person
{
protected string name;
public Person(string firstName)
{
name = firstName;
}
}
public class BusinessPerson : Person
{
public BusinessPerson(string newName)
: base(newName)
{
}
}
public class Group : CollectionBase
{
public void Add(Person newPerson)
{
List.Add(newPerson);
}
}