使用访问器功能

时间:2012-07-22 19:40:30

标签: c# accessor

我正在尝试成功反编译并更新我所拥有的旧统一游戏,我已经解决了大部分错误,但这个仍然让我感到悲伤。我能找到的所有文档都告诉我直接分配给成员,但这不是一个选项,因为成员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();
}

2 个答案:

答案 0 :(得分:1)

那是属性。

BinaryFormatter.SurrogateSelector = new UnitySurrogateSelector();

答案 1 :(得分:1)

那不是真的。 BinaryFormatter.SurrogateSelector是公开的。

但你好像错了。

它是一个实例属性,因此需要一个实例。