1 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
泛型方法強(qiáng)制您使用不變類型,這意味著您必須準(zhǔn)確提供您指定的內(nèi)容。
您正在尋找的是啟用協(xié)方差類型以允許使用更多派生類型。這只能在類級(jí)別完成:
請(qǐng)注意,這<in T>是指定協(xié)方差的方式。
public interface ILauncherCommand<in T> where T : IBaseParam
{
? ? void launch(T parameters);
}
public class BaseCommand<T> : ILauncherCommand<T> where T : IBaseParam??
{
? ? string Name { get; }
? ? public void launch(T parameters)
? ? {
? ? }
}
public class ComplexCommand<T> : ILauncherCommand<T> where T : IComplexParam
{
? ? string Name { get; }
? ? public void launch(T parameters)
? ? {
? ? }
}
在這種特定情況下,請(qǐng)注意 是<in >可選的,因?yàn)閰f(xié)方差是自動(dòng)的。
- 1 回答
- 0 關(guān)注
- 115 瀏覽
添加回答
舉報(bào)