我有通用类名称汽车,汽车接受数据类型"类型类型"。我从数据库得到类的名称作为字符串,所以我将字符串转换为类类型,而不是将该类传递给泛型类,但我总是得到错误" 错误"' o'是一个变量,但用作类型"。 我如何将Door类传递给Car泛类。
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string nameOfClass = "ConsoleApplication2.Door";
Door o = (Door)System.Activator.CreateInstance(Type.GetType(nameOfClass));
Console.WriteLine("Type: {0}\nValue: {1}\nHashCode: {2}\n",
o.GetType().FullName, o.ToString(), o.GetHashCode());
Console.ReadLine();
//error in O
Car<o> l = new Car<o>();
}
}
class Car<T> where T : class
{
public void carName(T name)
{}
}
class Door
{}
}
答案 0 :(得分:0)
泛型是指当你有一个可以使用任何类型的另一个对象的类时。例如,List
可以包含任何类型的对象,无论它是Car
还是其他类型。另一方面,汽车总是有一个以上的门。这表明Car
类应该有更多Door
成员字段,或者可能是List<Door>
,以便它可以有不确定数量的门。