我試圖成功地反編譯和更新一箇舊的統一遊戲,我已經修復了大部分錯誤,但是這個仍然給我帶來悲傷。我能找到的所有文檔都告訴我直接分配給成員,但這不是一個選項,因爲成員set_SurrogateSelector訪問了一個內部成員m_surrogates。使用存取函數
private static void Init()
{
UnityLogWriter.Init();
if (Application.platform.ToString().Contains("WebPlayer"))
{
BinaryFormatter.set_SurrogateSelector(new UnitySurrogateSelector());
}
}
// Decompiled BinaryFormatter
...
internal ISurrogateSelector m_surrogates;
public void set_SurrogateSelector(ISurrogateSelector value)
{
this.m_surrogates = value;
}
所以,我該如何設置代理選擇器?還是我必須編譯一個自定義的mscorlib.dll?
編輯:更新後的代碼,同樣的錯誤
BinaryFormatter nBFormatter = new BinaryFormatter();
UnityLogWriter.Init();
if (Application.platform.ToString().Contains("WebPlayer"))
{
nBFormatter.SurrogateSelector = new UnitySurrogateSelector();
}
檢查你的反編譯器設置。 – SLaks 2012-07-22 19:45:13