Estoy escribiendo un código C# .net que guarda algunos valores en el registro. Funcionó bien hasta que quise guardar algunos datos binarios.Guardar el objeto serializable en el registro en .net?
que tienen un objeto List<MyType>
donde MyType
se parece a esto:
[Serializable] public class MyType
{
public string s {get;set;}
public string t {get;set;}
}
consigo un error con el siguiente código:
List<MyType> objectToSaveInRegistry = getList();
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(MySpecialKey, true);
registryKey.SetValue("MySpecialValueName", objectToSaveInRegistry , RegistryValueKind.Binary);
El error es: "El tipo de objeto de valor hizo no coincide con el Value ValueKind especificado o el objeto no se pudo convertir correctamente ".
¿Qué puedo hacer para poder guardar mi objeto en el registro?
por qué quieres guardarlo en un registro. ¿Por qué no convertirlo en un archivo xml y guardarlo? –
@Srinivas, mi objeto contiene información sobre la configuración de una aplicación que estoy desarrollando. ¿No se supone que el Registro de Windows es un lugar donde se pueden guardar las configuraciones de la aplicación? –
Está intentando pasar una Lista a un método que básicamente espera una matriz de bytes. Tendrá que convertir su lista a ese tipo de representación (ya sea mediante serialización en un MemoryStream o utilizando un serializador diferente). –
Joe