StringExtension.NET35.cs 1022 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace SuperSocket.Common
  6. {
  7. /// <summary>
  8. /// String extension
  9. /// </summary>
  10. public static partial class StringExtension
  11. {
  12. /// <summary>
  13. /// Tries to parse string to enum type.
  14. /// </summary>
  15. /// <typeparam name="T"></typeparam>
  16. /// <param name="value">The value.</param>
  17. /// <param name="ignoreCase">if set to <c>true</c> [ignore case].</param>
  18. /// <param name="enumValue">The enum value.</param>
  19. /// <returns></returns>
  20. public static bool TryParseEnum<T>(this string value, bool ignoreCase, out T enumValue)
  21. where T : struct
  22. {
  23. try
  24. {
  25. enumValue = (T)System.Enum.Parse(typeof(T), value, ignoreCase);
  26. return true;
  27. }
  28. catch
  29. {
  30. enumValue = default(T);
  31. return false;
  32. }
  33. }
  34. }
  35. }