AssemblyHelper.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System;
  2. using System.Diagnostics;
  3. using System.Drawing;
  4. using System.IO;
  5. using System.Reflection;
  6. using System.Text;
  7. namespace UAS_MES_NEW.PublicMethod
  8. {
  9. class AssemblyHelper
  10. {
  11. #region 常量
  12. /// <summary>
  13. /// 程序集的名称
  14. /// </summary>
  15. private static string CurrentAssemblyName = Assembly.GetExecutingAssembly().GetName().Name;
  16. #endregion
  17. #region 变量
  18. /// <summary>
  19. /// 当前程序集
  20. /// </summary>
  21. private static Assembly CurrentAssembly = Assembly.GetExecutingAssembly();
  22. #endregion
  23. #region 方法
  24. /// <summary>
  25. /// 在嵌入的资源文件中查找相应的图片
  26. /// </summary>
  27. /// <param name="name">资源图片的文件名称+扩展名</param>
  28. /// <returns></returns>
  29. public static Image GetImage(string name)
  30. {
  31. Image image = null;
  32. try
  33. {
  34. if (!string.IsNullOrEmpty(name))
  35. {
  36. StringBuilder sb = new StringBuilder();
  37. if (name[0] != '.')
  38. sb.Append(AssemblyHelper.CurrentAssemblyName + "." + name);
  39. else
  40. sb.Append(AssemblyHelper.CurrentAssemblyName + name);
  41. using (Stream stream = CurrentAssembly.GetManifestResourceStream(sb.ToString()))
  42. {
  43. if (stream == null)
  44. throw new Exception("加载资源文件失败,失败原因:可能丢失" + CurrentAssemblyName + ".dll文件。");
  45. else
  46. image = Image.FromStream(stream);
  47. }
  48. }
  49. }
  50. catch (Exception ex)
  51. {
  52. Debug.WriteLine("AssemblyHelper.GetImage(string)->" + ex.Message);
  53. throw ex;
  54. }
  55. return image;
  56. }
  57. #endregion
  58. }
  59. }