我有以下設置;我如何將抽象列表投射到它的具體類型
public abstract class StageObject
{
}
public class StageImage : StageObject
{
public int Image;
}
public class StageStrip : StageObject
{
public int Strip;
}
我做了以下工作;
StageList = new List<StageObject>();
StageList.Add(new StageStrip());
StageList.Add(new StageImage());
我很想能夠施展的數組元素,因爲它的具體類型,像這樣的,但我得到一個錯誤;
(StageStrip) StageList[0].Strip = 2;
我能做到這一點的唯一方法是創建一個臨時變量並將其轉換爲數組。有沒有辦法,我可以做到這一點,而不創建臨時變量?
由於優先順序,您會收到錯誤。 C#正在做的是獲取'StageList [0] .Strip',它是一個'int'並試圖將其轉換爲'StageStrip'類型,並且由於C#不知道如何將int轉換爲鍵入'StageStrip',它給你一個錯誤。環繞'(StageStrip)StageList [0]'在括號中,它應該工作。 – Icemanind
非常感謝你 – blink