我试图获取列表中的函数,而获取列表的变量是一个对象。 我试图为函数创建一个通用选项,不需要为特定列表设置函数。
class Program
{
static void Main(string[] args)
{
Car Ford = new Car();
Car Toyota = new Car();
Motorcycle Kawasaki = new Motorcycle();
Bike Zebra = new Bike();
List<Vehicle> Garage = new List<Vehicle>();
Garage.Add(Ford);
Garage.Add(Toyota);
Garage.Add(Kawasaki);
Garage.Add(Zebra);
Class1 c1 = new Class1(Garage);
}
}
class Class1
{
public Class1(object obj)
{
//cannot find the way to extract the list and its method
}
}
我可以在obj列表中看到但是我无法使用它(没有可能来循环这些类而不使用它们的公共方法。 我知道使用反射有一些可能性,但我只管理一个类而不是列表。 这里有什么帮助吗?
答案 0 :(得分:1)
您可以将Generic用于此
class Program
{
static void Main(string[] args)
{
Car Ford = new Car();
Car Toyota = new Car();
Motorcycle Kawasaki = new Motorcycle();
Bike Zebra = new Bike();
List<Vehicle> Garage = new List<Vehicle>();
Garage.Add(Ford);
Garage.Add(Toyota);
Garage.Add(Kawasaki);
Garage.Add(Zebra);
Class1<Vehicle> c1 = new Class1<Vehicle>(Garage);
}
}
class Bike : Vehicle
{
}
class Car : Vehicle
{
}
class Motorcycle : Vehicle
{
}
class Vehicle
{
}
class Class1<T>
{
public Class1(List<T> obj)
{
foreach (var item in obj)
{
}
}
}