私はいくつかの値をレジストリに保存するC#.netコードを書いています。いくつかのバイナリデータを保存したいときまでうまくいった。シリアル化可能なオブジェクトを.netのレジストリに保存しますか?
私はMyType
はこのようになりますList<MyType>
オブジェクト持っている:私は次のコードでエラーが発生します
[Serializable] public class MyType
{
public string s {get;set;}
public string t {get;set;}
}
:
List<MyType> objectToSaveInRegistry = getList();
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(MySpecialKey, true);
registryKey.SetValue("MySpecialValueName", objectToSaveInRegistry , RegistryValueKind.Binary);
エラーがある:「値オブジェクトの種類がしたが指定されたRegistry ValueKindと一致しないか、オブジェクトを正しく変換できませんでした。
オブジェクトをレジストリに保存できるようにするにはどうすればよいですか?
なぜあなたはレジストリに保存したいのですか?それをxmlファイルにして保存しないでください。 –
@Srinivas、私のオブジェクトには、私が開発しているアプリケーションの設定に関する情報が含まれています。 Windowsレジストリは、アプリケーション設定を保存できる場所ではありませんか? –
リストを、基本的にバイト配列が必要なメソッドに渡そうとしています。そのような表現にリストを変換する必要があります(MemoryStreamにシリアル化するか、別のシリアライザを使用します)。 –
Joe