泛型:运行时
c#的泛型是运行时泛型,因此不支持:
public T New<T>() where T : IProduct
{
return new Product();
}
编译器无法通过IProduct和Product进行对应。
来自群C#/WPF质量群 415335118 (DynamicBlue)
经过测试,泛型方法内部可以访问泛型实例的属性及方法,仅返回值无法识别约束。
T仅仅是占位符,在编译前没有意义,并不会和where发生关系,因此返回运行时识别的Product类型使错误的。
欢迎C#或Winform技术交流,C#交流群:83868794