回 帖 发 新 帖 刷新版面

主题:C#泛型工厂,高手赐教

ITraffic where T : new()  ???这段代码是什么意思



using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;

namespace 工厂模式
{
    interface ITraffic
    {
        void CreateTool();
    }

    class Factory<T> : ITraffic where T : new()
    {
        public Factory()
        { 
        }

        public void CreateTool()
        {
            T tool = new T();
        }
    }

    class Car
    {
        public Car()
        {
            Console.WriteLine("汽车Car");
        }
    }

    class Moto
    {
        public Moto()
        {
            Console.WriteLine("摩托Moto");
        }
    }

    class TestMain
    {
        static void Main(string[] args)
        {
            ITraffic car = new Factory<Car>();
            car.CreateTool();

            ITraffic moto = new Factory<Moto>();
            moto.CreateTool();

            Console.Read();
        }
    }
}

回复列表 (共1个回复)

沙发

问题已解决, where T : new() 为构造函数约束

我来回复

您尚未登录,请登录后再回复。点此登录或注册