示例#1
0
 // Overrides the ConvertTo method of TypeConverter.
 public override object ConvertTo(ITypeDescriptorContext context,
                                  System.Globalization.CultureInfo culture, object value, Type destinationType)
 {
     if (destinationType == typeof(string))
     {
         // Convert from TlsVersionFlags to <"TLSv1">:<"SSLv3">
         TlsVersionFlags tlsVersionFlags = (TlsVersionFlags)value;
         // Generate ", " seperated list of flagged values.
         string libraryString = System.Enum.Format(typeof(TlsVersionFlags), value, "g");
         // Replace ", " seperations by ":" seperations.
         libraryString = libraryString.Replace(", ", Seperator);
         // Replace enum string values by library string values.
         libraryString = libraryString.Replace(TlsVersionFlags.TLS_VERSION_TLSv1.ToString(), TLSv1);
         libraryString = libraryString.Replace(TlsVersionFlags.TLS_VERSION_SSLv3.ToString(), SSLv3);
         return(libraryString);
     }
     return(base.ConvertTo(context, culture, value, destinationType));
 }
示例#2
0
 // Overrides the ConvertFrom method of TypeConverter.
 public override object ConvertFrom(ITypeDescriptorContext context,
                                    System.Globalization.CultureInfo culture, object value)
 {
     if (value is string)
     {
         // Convert from <"TLSv1">:<"SSLv3"> to TlsVersionFlags
         string enumString = (string)value;
         // Replace ":" seperations by "," seperations.
         enumString = enumString.Replace(Seperator, ",");
         // Replace library string values by enum string values.
         enumString = enumString.Replace(TLSv1, TlsVersionFlags.TLS_VERSION_TLSv1.ToString());
         enumString = enumString.Replace(SSLv3, TlsVersionFlags.TLS_VERSION_SSLv3.ToString());
         TlsVersionFlags tlsVersionFlags =
             (TlsVersionFlags)System.Enum.Parse(typeof(TlsVersionFlags), enumString);
         return(tlsVersionFlags);
     }
     return(base.ConvertFrom(context, culture, value));
 }