using System.Collections.Generic;
public static void Main()
ParentClass parentClass1 = new ParentClass("父類別1");
ParentClass parentClass2 = new ParentClass("父類別2");
ChildClass childClass1 = new ChildClass("子類別1");
ChildClass childClass2 = new ChildClass("子類別2");
ObjectList objectList = new ObjectList();
objectList.Add(parentClass1);
objectList.Add(parentClass2);
objectList.Add(childClass1);
objectList.Add(childClass2);
objectList.FireAllMethodA();
objectList.FireAllMethodC();
public ParentClass(string name)
Console.WriteLine("來自父類別的 方法A - {0}", _name);
public class ChildClass : ParentClass
public ChildClass(string name) : base(name)
Console.WriteLine("來自子類別的 方法B - {0}", _name);
Console.WriteLine("來自子類別的 方法C - {0}", _name);
private List<ParentClass> _objectList = new List<ParentClass>();
public void Add(ParentClass obj)
public void FireAllMethodA()
foreach (var obj in _objectList)
public void FireAllMethodC()
foreach (var element in _objectList)
ChildClass obj = element as ChildClass;
if (obj != null) { obj.MethodC(); }