【发布时间】:2026-01-12 03:45:01
【问题描述】:
private void AMethod<T>() where T : Control, new()
{
Lazy<T> lazyControl = new Lazy<T>(() => new T());
Lazy<Control> a = lazyControl;
}
我在最后一行收到以下错误。
Argument 2: cannot convert from 'System.Lazy<T>' to
'System.Lazy<System.Windows.Forms.Control>'
我知道 T 可能是一个更具体的类型,但我不明白为什么我不能将它分配给 Lazy 变量。
【问题讨论】:
标签: c# covariance contravariance