我被這個問題困住了幾個小時。我試圖找到一個C#的等價方法。C中有界的通配符#
的Java,工作原理:
public class Main
{
public static void main(String[] args)
{
ArrayList<BaseList<? extends Base>> list = new ArrayList<>();
list.add(new DerivedList());
}
}
public class BaseList<T extends Base>
{
}
public class Base
{
}
public class DerivedList extends BaseList<Derived>
{
}
public class Derived extends Base
{
}
我需要ArrayList<BaseList<? extends Base>>
等效的方法在C#。我希望有人幫助我。
它在C#中可以通配符變量嗎?
如果我使用這種方法,我遇到的問題與Lucas Trzesniewski的評論中提到的相同 – boraida
您不能在該接口中聲明「List Entries」屬性,因爲它會違反方差(即「out」關鍵字)。但是,您可以聲明它爲「IEnumeable 條目」,如果這將滿足您的需求。 –
Evk