aggiungi tipo personalizzato nelle impostazioni.impostazioni

Vorrei utilizzare il file di configurazione .impostazioni per salvare questa struttura:

struct sR22Protocole
{
    Int32 inputkey;
    Int32 outputkey;
    Int32 voltage;
    Int32 Ohm;
    Int32 Correction;
};

Nella progettazione impostazioni, posso aggiungere di tipo diverso, ma non visualizza il mio struct in sfoglia sezione. C’è un modo che il designer ha accesso al mio struct? Se no, c’È un modo per aggiungere programmaticaly?

InformationsquelleAutor Mr.Alexz | 2013-09-23



3 Replies
  1. 12

    Il tipo deve avere un System.Configuration.SettingsSerializeAsAttribute attributo. Un enum parametro di tipo System.Configuration.SettingsSerializeAs specifica in che modo il valore verrà serializzato, i valori possibili sono:

    • Stringa
    • Xml
    • Binario
    • ProviderSpecific

    Dal momento che questo attributo può essere applicato solo per i tipi di classe, il proprio tipo deve essere una classe.

    In secondo luogo, il tipo deve avere un costruttore senza parametri. Questo perché un istanza predefinita del tipo di impostazione deve essere in grado di essere assegnato.

    Se hai appena dichiarato la classe, il designer non accettare il tipo, a meno che avete costruito la vostra soluzione.

  2. 4

    Basta andare in sfoglia di sezione e tipo la tua struttura, di classe o di enum nome, mentre il prefisso dello spazio dei nomi del tipo. Poi, può anche essere aggiunto nel menu a discesa per le vostre prossime utilizza.

    Nel tuo esempio:
    YourTypeNamespace.sR22Protocole

    • Puoi spiegare un po ‘ di più?
    • Quale versione di Visual Studio stai usando? Ho appena provato sul VS2013 Esprimere con un enum e non ha funzionato. (Dà un “Tipo ‘X’ non è definito. di errore”.)
    • Ha lavorato con VS 2010 Express e un tipo enum personalizzato.
    • Se si utilizza una nuova definito, diciamo Enum, si dovrebbe ricostruire una volta a fare il tipo “conosciuto”. Ho appena provato ad aggiungere un nuovo Enum Tipo. Era sconosciuto, e ho pensato che ho fatto qualcosa di sbagliato. Ma ho dovuto ricompilare…
    • A quel tempo, stavo usando VS 2015 Comunità.

Lascia un commento