调用Generic类

时间:2017-12-14 19:40:57

标签: c# generics

我有通用类名称汽车,汽车接受数据类型"类型类型"。我从数据库得到类的名称作为字符串,所以我将字符串转换为类类型,而不是将该类传递给泛型类,但我总是得到错误" 错误"' 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
    {}
} 

1 个答案:

答案 0 :(得分:0)

泛型是指当你有一个可以使用任何类型的另一个对象的类时。例如,List可以包含任何类型的对象,无论它是Car还是其他类型。另一方面,汽车总是有一个以上的门。这表明Car类应该有更多Door成员字段,或者可能是List<Door>,以便它可以有不确定数量的门。