Freigeben über


Benutzerdefinierter Typkonverter für die Adapterkonfiguration

Wie der benutzerdefinierte Editor setzt der benutzerdefinierte Typkonverter die System.ComponentModel.TypeConverter-Klasse einer ihrer untergeordneten Elemente außer Kraft. Der Konverter fügt hier dem Wert eine Formatierung hinzu, die persistent gespeichert werden soll, jedoch nicht auf der Eigenschaftenseite angezeigt wird. Die ConvertFrom-Methode fügt eckige Klammern um den Zeichenfolgenwert hinzu, und die ConvertTo-Methode entfernt sie.

Der folgende Code ist die Klassendefinition für den benutzerdefinierten Typkonverter:

using System;  
using System.ComponentModel;  
  
namespace AdapterManagement.ComponentModel {  
  
   public class DesignerTypeConverter : StringConverter {  
  
      public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) {  
         return (typeof(String) == destinationType) || base.CanConvertTo (context, destinationType);  
      }  
  
      public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) {  
         if (typeof(String) == destinationType && value is String) {  
            return ((String)value).TrimStart('[').TrimEnd(']');  
         }  
         return base.ConvertTo (context, culture, value, destinationType);  
      }  
  
      public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {  
         return (typeof(String) == sourceType) || base.CanConvertFrom (context, sourceType);  
      }  
  
      public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) {  
         if (value is String) {  
            return "["+(String)value+"]";  
         }  
         return base.ConvertFrom (context, culture, value);  
      }  
   }  
}  

Weitere Informationen

Designer für benutzerdefinierte Adapterkonfiguration
Benutzerdefinierter Dropdowneditor zur Adapterkonfiguration
Benutzerdefinierter Editor für modale Dialogfelder zur Adapterkonfiguration
Erweiterte Konfigurationskomponenten für Adapter