我正在尝试根据实例化对象的类中的方法(称为 Q())的返回值对对象列表进行排序。Decaf 和Regular 两个类都派生自同一个类Coffee。这两个派生类也有不同的方法实现,Q()。它看起来像这样:
static void Main(string[] args)
{
Decaf decafCoffee = null;
Regular regularCoffee = null;
List<Coffee> inventory = new List<Coffee>();
if (type.StartsWith("D:"))
{
// The value of M changes based on certain criteria
decafCoffee = new Decaf(name, D, C, M);
inventory.Add(decafCoffee);
}
else if (type.StartsWith("R:"))
{
regularCoffee = new Regular(name, D, C, M);
inventory.Add(regularCoffee);
}
for (int j = 0; j < inventory.Count; j++)
{
Console.WriteLine("{0}", inventory[j].toString());
}
}
如何按两个类中方法 Q() 的值按升序对该列表进行排序?如果需要,我可以发布课程代码。