我正在尝试成功反编译并更新我所拥有的旧统一游戏,我已经解决了大部分错误,但这个仍然让我感到悲伤。我能找到的所有文档都告诉我直接分配给成员,但这不是一个选项,因为成员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();
}
答案 0 :(得分:1)
那是属性。
BinaryFormatter.SurrogateSelector = new UnitySurrogateSelector();
答案 1 :(得分:1)
那不是真的。 BinaryFormatter.SurrogateSelector
是公开的。
但你好像错了。
它是一个实例属性,因此需要一个实例。