我正在寫一個C#程序,這是一個基本的文字RPG遊戲。當我保存遊戲時,我想將角色傳遞到一個保存函數,然後從該角色獲取數據並將其寫入一個xml文件。我有一個基類字符和三個派生類:騎士,流氓,和嚮導。它們每個都有一個特殊的int,我想寫入一個xml文件。將基函數作爲參數傳遞派生類
private void Save(Character c, string file) {
//Sample part of writing the data
XmlNode nodeName = playerData.CreateElement("name");
nodeName.AppendChild(playerData.CreateTextNode(c.name));
nodeDetails.AppendChild(nodeName);
}
我想在騎士,盜賊,或嚮導到這個函數來傳遞,並能得到任何變量在派生類中沒有的基類。有沒有辦法做到這一點?
如果所有或某些子類型最終具有不能完全拉入基類型的不同屬性,請考慮查看https://en.wikipedia.org/wiki/Visitor_pattern以進行雙重調度。 – kai