1

私が持っている古い unity ゲームを正常に逆コンパイルして更新しようとしています。ほとんどのエラーを修正しましたが、これはまだ私に悲しみを与えています。私が見つけることができるすべてのドキュメントでは、メンバーに直接割り当てるように指示されていますが、メンバー 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();
}
4

2 に答える 2

1

それはプロパティです。

BinaryFormatter.SurrogateSelector = new UnitySurrogateSelector();
于 2012-07-22T19:45:00.837 に答える
1

それは真実ではない。BinaryFormatter.SurrogateSelector公開されています。

しかし、使い方が間違っているようです。

これはインスタンス プロパティであるため、インスタンスが必要です。

于 2012-07-22T19:45:18.017 に答える