Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void SetOptions<T>() where T : Enum
- {
- int i = 0;
- foreach (T obj in Enum.GetValues(typeof(T)))
- {
- if (i == 0)
- DefaultOption = new ListItem(obj.Description(), obj.ToString());
- i++;
- DropDownList.Items.Add(new ListItem(obj.Description(), obj.ToString()));
- }
- }
- public void SetOptions<T>()
- {
- Type genericType = typeof(T);
- if (genericType.IsEnum)
- {
- foreach (T obj in Enum.GetValues(genericType))
- {
- Enum test = Enum.Parse(typeof(T), obj.ToString()) as Enum;
- int x = Convert.ToInt32(test); // x is the integer value of enum
- ..........
- ..........
- }
- }
- }
- public static int EnumToInt<TValue>(this TValue value) where TValue : Enum
- => (int)(object)value;
- public static int EnumToInt<TValue>(this TValue value) where TValue : struct, IConvertible
- {
- if(!typeof(TValue).IsEnum)
- {
- throw new ArgumentException(nameof(value));
- }
- return (int)(object)value;
- }
- public static int EnumToInt<TValue>(this TValue value) where TValue : Enum
- {
- if (!typeof(int).IsAssignableFrom(Enum.GetUnderlyingType(typeof(TValue))))
- throw new ArgumentException(nameof(TValue));
- return (int)(object)value;
- }
- public static int EnumToInt<TValue>(this TValue value) where TValue : Enum
- => Convert.ToInt32(value);
- Convert.ChangeType(value, Enum.GetUnderlyingType(value.GetType()))
- public static void AddEnum(this SqlParameterCollection parameters, string parameterName, Enum value)
- {
- parameters.AddWithValue(parameterName, Convert.ChangeType(value, Enum.GetUnderlyingType(value.GetType())));
- }
- public enum MyEnum
- {
- Foo = 100,
- Bar = 200,
- Fizz = 0
- }
- static void Main(string[] args)
- {
- var i1 = MyEnum.Foo.GetHashCode(); // i1 = 100
- var i2 = MyEnum.Bar.GetHashCode(); // i2 = 200
- var i3 = MyEnum.Fizz.GetHashCode(); // i3 = 0
- }
- int? value = (enumCandidate as IConvertible)?.ToInt32(CultureInfo.InvariantCulture.Numberformat);
- public static int GetEnumValue<T>(T inputEnum) where T: struct, IConvertible
- {
- Type t = typeof(T);
- if (!t.IsEnum)
- {
- throw new ArgumentException("Input type must be an enum.");
- }
- return inputEnum.ToInt32(CultureInfo.InvariantCulture.NumberFormat);
- }
- public static int GetEnumValue(object enumInput)
- {
- Type t = enumInput.GetType();
- if (!t.IsEnum)
- {
- throw new ArgumentException("Input type must be an enum.");
- }
- return ((IConvertible)inputEnum).ToInt32(CultureInfo.InvariantCulture.NumberFormat);
- }
- public static void SetOptions<T>(this DropDownList dropDownList)
- {
- if (!typeof(T).IsEnum)
- {
- throw new ArgumentException("Type must be an enum type.");
- }
- dropDownList.Items.AddRange(Enum
- .GetValues(typeof(T))
- .Cast<Enum>()
- .Select(x => new ListItem(x.ToString(), Convert.ToInt32(x).ToString()))
- .ToArray());
- }
- void MyFunc<T>(T value)
- {
- Type t = typeof(T);
- if(t.IsEnum)
- {
- int valueAsInt = value.GetHashCode(); // returns the integer value
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement