C#泛型类型能否动态确定吗

2025-01-20 22:41:31
推荐回答(2个)
回答1:

可以。

利用反射来创建泛型类型和泛型类型对象:

using System.Reflection;
namespace 反射和动态类型 {    
    public class 泛型类 {
        Type 反射创建泛型(Type t) {
            Type type = typeof(泛型类<>);
            return type.MakeGenericType(t);
        }
        object 反射创建泛型对象(Type t) {
            Type type = typeof(泛型类<>);
            type = type.MakeGenericType(t);
            return Activator.CreateInstance(type);
        }
        public void 测试方法(T t) { Console.WriteLine(t); }
    }


如满意,请采纳,谢谢。

回答2:

不能,在声明的时候就需要指定类型。