2011-06-25 3 views
1

J'essaie de définir un paramètre avec un type que j'ai créé moi-même, mais je n'arrive pas à trouver ma classe dans la ComboBox des types dans l'interface utilisateur des paramètres (ni dans le formulaire "Browse" lancé en choisissant "browse" dans le ComboBox).Utilisation des paramètres C# avec la classe personnalisée

Comment puis-je utiliser des classes personnalisées dans les paramètres?

Ma classe:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml.Serialization; 
using Key = System.Windows.Input.Key; 

namespace GameOfLife 
{ 
    [Serializable()] 
    class KeyShortCut 
    { 
     [XmlElement("Key")] 
     public Key Key { get; private set; } 

     [XmlAttribute("Ctrl")] 
     public bool Ctrl { get; private set; } 

     [XmlAttribute("Alt")] 
     public bool Alt { get; private set; } 

     [XmlAttribute("Shift")] 
     public bool Shift { get; private set; } 

     public KeyShortCut(Key Key, bool Ctrl = false, bool Alt = false, bool Shift = false) 
     { 
      this.Key = Key; 

      this.Ctrl = Ctrl; 
      this.Alt = Alt; 
      this.Shift = Shift; 
     } 
     public override string ToString() 
     { 
      StringBuilder str = new StringBuilder(this.Key.ToString()); 
      if (Ctrl) 
       str.Insert(0, "Ctrl + "); 
      if (Alt) 
       str.Insert(0, "Alt + "); 
      if (Shift) 
       str.Insert(0, "Shift + "); 
      return str.ToString(); 
     } 
    } 
} 

Répondre

2

Essayez d'utiliser IXmlSerializable au lieu de Serializable comme il définit seulement sérialisation binaire ou lire THIS question/réponses.

+0

Aucun attribut. Interface dans le même nom, cependant, existe. Dois-je implémenter l'interface et attacher l'attribut [Serializable]? –

+0

@Gilad: S'il vous plaît voir le lien dans mon édition, je peux me tromper ... – ChrFin

+0

Merci beaucoup :) –

Questions connexes