visual validar una studio solo saber primera poner permitir palabra minusculas minuscula mayusculas mayuscula letra convertir como cadena cada c# .net configurationproperty

c# - validar - primera letra en mayuscula visual basic



Configuración personalizada de.net Cómo utilizar mayúsculas y minúsculas para analizar una enumeración ConfigurationProperty (3)

Intenta usar esto:

Enum.Parse(enum_type, string_value, true);

El último parámetro establecido en verdadero indica que se ignore la carcasa de la cadena al analizar.

Uno de los ConfigurationProperty que tengo en mi ConfigurationSection es un ENUM. Cuando .net analiza este valor de cadena de enumeración del archivo de configuración, se lanzará una excepción si el caso no coincide exactamente.

¿Hay alguna forma de ignorar el caso al analizar este valor?


Puede usar ConfigurationConverterBase para hacer un convertidor de configuración personalizado, consulte http://msdn.microsoft.com/en-us/library/system.configuration.configurationconverterbase.aspx

esto hará el trabajo

public class CaseInsensitiveEnumConfigConverter<T> : ConfigurationConverterBase { public override object ConvertFrom( ITypeDescriptorContext ctx, CultureInfo ci, object data) { return Enum.Parse(typeof(T), (string)data, true); } }

y luego en su propiedad:

[ConfigurationProperty("unit", DefaultValue = MeasurementUnits.Pixel)] [TypeConverter(typeof(CaseInsensitiveEnumConfigConverter<MeasurementUnits>))] public MeasurementUnits Unit { get { return (MeasurementUnits)this["unit"]; } } public enum MeasurementUnits { Pixel, Inches, Points, MM, }


MyEnum.TryParse() tiene un parámetro IgnoreCase, configúralo como verdadero.

http://msdn.microsoft.com/en-us/library/dd991317.aspx

ACTUALIZACIÓN: la definición de la sección de configuración como esta debería funcionar

public class CustomConfigurationSection : ConfigurationSection { [ConfigurationProperty("myEnumProperty", DefaultValue = MyEnum.Item1, IsRequired = true)] public MyEnum SomeProperty { get { MyEnum tmp; return Enum.TryParse((string)this["myEnumProperty"],true,out tmp)?tmp:MyEnum.Item1; } set { this["myEnumProperty"] = value; } } }