国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[C#]AssemblyHelper

2019-11-14 16:15:37
字體:
來源:轉載
供稿:網友

關鍵代碼:

using System;using System.IO;using System.Reflection;namespace YanZhiwei.DotNet2.Utilities.Common{    /// <summary>    /// Assembly 幫助類    /// </summary>    public class AssemblyHelper    {        #region 構造函數        Assembly assembly = null;        /// <summary>        /// 構造函數        /// </summary>        public AssemblyHelper()        {            assembly = Assembly.GetExecutingAssembly();        }        /// <summary>        /// 構造函數        /// </summary>        /// <param name="path">dll,exe路徑</param>        public AssemblyHelper(string path)        {            if (File.Exists(path))                assembly = Assembly.LoadFile(path);        }        #endregion        #region 私有方法        PRivate void GetAssemblyCommon<T>(Action<T> assemblyFacotry) where T : Attribute        {            if (assembly != null)            {                object[] _attributes = assembly.GetCustomAttributes(typeof(T), false);                if (_attributes.Length > 0)                {                    T _attribute = (T)_attributes[0];                    assemblyFacotry(_attribute);                }            }        }        #endregion        #region 獲取應用程序集的標題        /// <summary>        /// 獲取應用程序集的標題        /// </summary>        /// <returns>程序集的標題</returns>        public string GetTitle()        {            string _title = string.Empty;            GetAssemblyCommon<AssemblyTitleAttribute>(_ass => _title = _ass.Title);            if (string.IsNullOrEmpty(_title))            {                _title = Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);            }            return _title;        }        #endregion        #region 獲取應用程序產品名稱        /// <summary>        /// 獲取應用程序產品名稱        /// </summary>        /// <returns>產品名稱</returns>        public string GetProductName()        {            string _product = string.Empty;            GetAssemblyCommon<AssemblyProductAttribute>(_ass => _product = _ass.Product);            return _product;        }        #endregion        #region 獲取應用程序版本        /// <summary>        /// 獲取應用程序版本        /// </summary>        /// <returns>版本</returns>        public string GetVersion()        {            return assembly.GetName().Version.ToString();        }        #endregion        #region 獲取應用程序說明        /// <summary>        /// 獲取應用程序說明        /// </summary>        /// <returns>說明</returns>        public string GetDescription()        {            string _description = string.Empty;            GetAssemblyCommon<AssemblyDescriptionAttribute>(_ass => _description = _ass.Description);            return _description;        }        #endregion        #region 獲取應用程序版權信息        /// <summary>        /// 獲取應用程序版權信息        /// </summary>        /// <returns>版權信息</returns>        public string GetCopyright()        {            string _copyright = string.Empty;            GetAssemblyCommon<AssemblyCopyrightAttribute>(_ass => _copyright = _ass.Copyright);            return _copyright;        }        #endregion        #region 獲取應用程序公司名稱        /// <summary>        /// 獲取應用程序公司名稱        /// </summary>        /// <returns>公司名稱</returns>        public string GetCompany()        {            string _company = string.Empty;            GetAssemblyCommon<AssemblyCompanyAttribute>(_ass => _company = _ass.Company);            return _company;        }        #endregion        #region 獲取應用程序顯示名稱        /// <summary>        /// 獲取應用程序顯示名稱        /// </summary>        /// <returns>應用程序顯示名稱</returns>        public string GetAppFullName()        {            return assembly.FullName.ToString();        }        #endregion    }}

單元測試:

using Microsoft.VisualStudio.TestTools.UnitTesting;using System;namespace YanZhiwei.DotNet2.Utilities.Common.Tests{    [TestClass()]    public class AssemblyHelperTests    {        AssemblyHelper assHelper = null;        [TestInitialize]        public void TestInit()        {            string _path = string.Format(@"{0}/TestSource/DotNet2.Interfaces.dll", AppDomain.CurrentDomain.BaseDirectory);            assHelper = new AssemblyHelper(_path);        }        [TestMethod()]        public void GetTitleTest()        {            Assert.AreEqual("YanZhiwei.DotNet2.Interfaces", assHelper.GetTitle());        }        [TestMethod()]        public void GetProductNameTest()        {            Assert.AreEqual("YanZhiwei.DotNet2.Interfaces", assHelper.GetProductName());        }        [TestMethod()]        public void GetVersionTest()        {            Assert.AreEqual("1.0.5483.24630", assHelper.GetVersion());        }        [TestMethod()]        public void GetDescriptionTest()        {            Assert.AreEqual("", assHelper.GetDescription());        }        [TestMethod()]        public void GetCopyrightTest()        {            Assert.AreEqual("Copyright ? YanZhiwei 2014", assHelper.GetCopyright());        }        [TestMethod()]        public void GetCompanyTest()        {            Assert.AreEqual("", assHelper.GetCompany());        }        [TestMethod()]        public void GetAppFullNameTest()        {            Assert.AreEqual("DotNet2.Interfaces, Version=1.0.5483.24630, Culture=neutral, PublicKeyToken=null", assHelper.GetAppFullName());        }    }}

測試結果:

image


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴林左旗| 平潭县| 云林县| 万安县| 青川县| 德保县| 济南市| 平遥县| 饶平县| 滦南县| 全州县| 伊金霍洛旗| 云霄县| 固始县| 罗定市| 丹棱县| 三穗县| 沙湾县| 南和县| 宽城| 阳高县| 葫芦岛市| 盘山县| 青河县| 河源市| 肇州县| 佛山市| 盖州市| 锦屏县| 亳州市| 绿春县| 上杭县| 河池市| 咸阳市| 晋中市| 邯郸市| 个旧市| 临沭县| 海盐县| 寿阳县| 施秉县|