3
public interface SomeInterfaceName<out T> where T : struct
{
T? SomePropertyName { get; }
}
我得到的錯誤是:當創建差異接口
錯誤CS1961:無效的方差:類型參數「T」必須是「SomeInterfaceName.SomePropertyName」目不暇接有效。 'T'是協變的。
我不要需要這是協變。我也可以刪除out關鍵字。但是,然後Resharper建議我可以使用Covariance,我同意,我不明白爲什麼我不能。我只使用T作爲返回值。還是因爲可空<>不支持它?
任何人都可以解釋錯誤嗎?