相关疑难解决方法(0)

在C#中,如何在方法中实例化传递的泛型类型?

如何在我的InstantiateType<T>方法中实例化类型T ?

我收到错误:'T'是'类型参数'但是像'变量'一样使用.:

(对于经过改进的答案,请向下滚动)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestGeneric33
{
    class Program
    {
        static void Main(string[] args)
        {
            Container container = new Container();
            Console.WriteLine(container.InstantiateType<Customer>("Jim", "Smith"));
            Console.WriteLine(container.InstantiateType<Employee>("Joe", "Thompson"));
            Console.ReadLine();
        }
    }

    public class Container
    {
        public T InstantiateType<T>(string firstName, string lastName) where T : IPerson
        {
            T obj = T();
            obj.FirstName(firstName);
            obj.LastName(lastName);
            return obj;
        }

    }

    public interface IPerson
    {
        string FirstName { get; set; }
        string LastName { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# generics

90
推荐指数
5
解决办法
5万
查看次数

标签 统计

c# ×1

generics ×1