常用工具类——应用程序属性信息访问类

using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace Utils
{
    /// <summary>
    /// <para> </para>
    ///  常用工具类——应用程序属性信息访问类
    /// <para> -------------------------------------------</para>
    /// <para> GetAssemblyTitle:获取应用程序集的标题</para>
    /// <para> GetAssemblyProduct:获取应用程序产品名称</para>
    /// <para> GetAssemblyVersion:获取应用程序版本</para>
    /// <para> GetAssemblyDescription:获取应用程序说明</para>
    /// <para> GetAssemblyCopyright:获取应用程序版权信息</para>
    /// <para> GetAssemblyCompany:获取应用程序公司名称</para>
    /// <para> GetAssemblyAppFullName:获取应用程序显示名称</para>
    /// </summary>
    public class AssemblyHelper
    {
        #region 获取应用程序集的标题
        /// <summary>
        /// 获取应用程序集的标题
        /// </summary>
        /// <returns></returns>
        public static string GetAssemblyTitle()
        {
            object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
            if (attributes.Length > 0)
            {
                AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
                if (titleAttribute.Title != "")
                {
                    return titleAttribute.Title;
                }
            }
            return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
        }
        #endregion
        #region 获取应用程序产品名称
        /// <summary>
        /// 获取应用程序产品名称
        /// </summary>
        /// <returns></returns>
        public static string GetAssemblyProduct()
        {
            object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
            if (attributes.Length == 0)
            {
                return "";
            }
            return ((AssemblyProductAttribute)attributes[0]).Product;
        }
        #endregion
        #region 获取应用程序版本
        /// <summary>
        /// 获取应用程序版本
        /// </summary>
        /// <returns></returns>
        public static string GetAssemblyVersion()
        {
            return Assembly.GetExecutingAssembly().GetName().Version.ToString();
        }
        #endregion
        #region 获取应用程序说明
        /// <summary>
        /// 获取应用程序说明
        /// </summary>
        /// <returns></returns>
        public static string GetAssemblyDescription()
        {
            object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
            if (attributes.Length == 0)
            {
                return "";
            }
            return ((AssemblyDescriptionAttribute)attributes[0]).Description;
        }
        #endregion
        #region 获取应用程序版权信息
        /// <summary>
        /// 获取应用程序版权信息
        /// </summary>
        /// <returns></returns>
        public static string GetAssemblyCopyright()
        {
            object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
            if (attributes.Length == 0)
            {
                return "";
            }
            return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
        }
        #endregion
        #region 获取应用程序公司名称
        /// <summary>
        /// 获取应用程序公司名称
        /// </summary>
        /// <returns></returns>
        public static string GetAssemblyCompany()
        {
            object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
            if (attributes.Length == 0)
            {
                return "";
            }
            return ((AssemblyCompanyAttribute)attributes[0]).Company;
        }
        #endregion
        #region 获取应用程序显示名称
        /// <summary>
        /// 获取应用程序显示名称
        /// </summary>
        /// <returns></returns>
        public static string GetAssemblyAppFullName()
        {
            return Assembly.GetExecutingAssembly().FullName.ToString();
        }
        #endregion
    }
}
时间: 2024-08-13 22:12:35

常用工具类——应用程序属性信息访问类的相关文章

[C#] 常用工具类——应用程序属性信息访问类

using System; using System.Collections.Generic; using System.Text; using System.Reflection; namespace Utils { /// <summary> /// <para> </para> /// 常用工具类——应用程序属性信息访问类 /// <para> -------------------------------------------</para&g

C#箴言之用属性来访问类的私有成员

在程序中,难免要访问某个对象的私有成员.那么以前实现这类功能的方法有两种,第一种方法最简单,就是把成员访问符从“private”改为“public”即可:而另一个就是提供公有的成员访问函数来进行访问.那么现在用C#编写程序,就不再需要采用前面所说的两种方法了,而直接使用属性来完成. 首先来看看三种方法的如何实现以及调用的,这里用一个例子来说明,即访问“EmployeeInfo”类的私有成员strName,具体如下表格所示. 那么这三种方法有什么区别呢,用如下的表格,可以更好的说明三者的区别. 因

常用工具的使用,属性使用会让你效率更高

plsql 的使用: 新建——>选中sql window,即可打开sql窗口了 按F8可以执行查询语句. 点击上图那个黑色的小锁可以后,锁按钮变成打开状态,这时可以修改数据. 执行更新或者插入后,要commit一下,或者点击绿色的提交按钮(椭圆,里面有个箭头)..不然无法真正提交到数据库. TeamViewer 一款远程连接工具.需连接的2台电脑都安装上去.

【很变态】PHP类实例化对象竟然可以访问类的“静态(static)方法”!!!

之前发现一个PHP的变态问题:PHP中静态(static)调用非静态方法详解 这次看了下 ThinkPHP 的源码 function.inc.php ,里面有个函数: /** * 取得对象实例 支持调用类的静态方法 * * @param string $name 类名 * @param string $method 方法 * @param string $args 参数 * @return object 对象实例 */ function get_instance_of($name, $metho

PHP如何定义类及其成员属性与操作

1.类的定义: 类的关键字定义使用class 1.定义一个空类 Class Person{}; 2.定义一个有成员属性和操作的类 Class Person{ //成员属性 $name     =  ''; //操    作 protected function getActionName() { return $this->name; } } 3.定义一个不能被继承的类,使用final关键字 Final class Person{ 成员属性........ 操    作........ } 4.

互联网产品经理常用工具有哪些

互联网产品经理的工作是复杂和多样的,PM们通常要负责产品各方面的事务,因此工作中需要用到的工具有很多,现在就跟这笔者一起来看看互联网产品经理常用工具有哪些,想走产品经理路线的同学可以提前了解一下.    一.产品经理的主要工作 "工欲善其事,必先利其器!" 既然是"善其事",关键就是搞明白产品经理相关的工作内容,针对工作合理有效的利用软件,才能达到事半功倍的效果.要说到产品经理的职能,这是另开新篇的话题,这里我们先通俗概括一下PM的主要活动: 1.参与制定或确定公司

数据访问类的封装与三大类

数据访问类的封装: 数据访问类分为三大类:连接类,实体类,数据访问类. 1.连接类: public class lianjie { private static string connection="server=.;database=mydb;uid=sa;pwd=789234178"; public static Sqlconnection conn { get { SqlConnection conn=new Sqlconnection(connecction); return

c++中类对象不能访问类的私有成员变量

类的成员变量分三种: public   protect  private 1.类的成员函数可以访问类这三类 2.继承类成员函数可以访问 protect  类型 3.只有本身类的成员函数才可以访问 private 类型 4.类的对象若在其他函数中是不可以访问类的 protect  private类型变量 类其实是个模型.而对象就是找个这个模型制作的实体.比如,类是造车的图纸,对象就是找个图纸造出的汽车.类的成员是分级别的:protect,public,private.在类内部定义的函数可以访问任何

JAVA类的生命周期,以及类的初始化时机

类的生命周期从类被加载.连接和初始化开始,到类被卸载结束. 只有当类处于生命周期时,java程序才能使用它,比如 调用类的静态属性和方法.或者创建类的实列 简要介绍 1:加载  类的加载时指把类的.class文件中的二进制读入到内存中,把它存放在运行时数据区的方法区内,然后在堆区创建一个java.long.Class对象用来封装类在方法区内的数据结构.并且向java程序提供了访问类在方法区内的数据结构接口. 类的加载器并不需要某个类"首次主动使用"时在加载它,java虚拟机规范允许类加