/// <summary> /// 返回 程序 集 的 Título /// </summary> /// <param name = "assembly"> 程序 集</param> /// < retur >> Título </returns> public cadena estática GetAssemblyTitle (ensamblaje de ensamblaje) { string title = GetAssemblyInfo <AssemblyTitleAttribute> (ensamblaje); if ( string .IsNullOrEmpty (title)) { return System.IO.Path.GetFileNameWithoutExtension (Assembly.GetExecutingAssembly (). CodeBase); } título de retorno ; } /// <resumen> /// Devuelve la información de la versión del ensamblado /// </ summary> /// <param name = "assemblement"> assembly </ param> /// <returns> información de la versión </ return > cadena estática pública GetAssemblyVersion ( Ensamblaje de ensamblaje) { return assembly.GetName (). Version.ToString (); } /// <summary> /// Devuelve la descripción de texto del ensamblado /// </ summary> /// <param name = "assemble" > Ensamblaje </ param> /// <returns> Descripción del texto </ return>cadena estática pública { return GetAssemblyDescription (ensamblaje de ensamblaje) GetAssemblyInfo <AssemblyDescriptionAttribute> (ensamblaje); } /// <summary> /// Devuelve el nombre del producto del ensamblado /// </ summary> /// <param name = "assemble"> assemble </ param> // / <retornos> nombre del producto </ devuelve> cadena estática pública GetAssemblyProduct (ensamblaje de ensamblaje) { return GetAssemblyInfo <AssemblyProductAttribute> (ensamblaje); } /// <summary> /// devuelve los derechos de autor del ensamblado /// </ summary> /// <param name = "assembler"> ensamblado </ param> /// <devoluciones> Derechos </ Devoluciones> pública estática Cadena GetAssemblyCopyright (Asamblea Asamblea) { retorno GetAssemblyInfo <AssemblyCopyrightAttribute> (Asamblea); } /// <summary> /// Devuelve el nombre de la empresa de montaje /// </ resumen> / // <nombre de parámetro = "conjunto"> conjunto </ parámetro> /// <devoluciones> nombre de la empresa </ devuelve> cadena estática pública GetAssemblyCompany (conjunto de ensamblaje) { return GetAssemblyInfo <AssemblyCompanyAttribute> (conjunto); } /// <resumen> /// Obtenga información sobre el ensamblado /// </ summary> /// <typeparam name = "TAttribute"> Tipo de atributo </ typeparam> /// <param name = "assembly"> Assembly </ param> /// <devoluciones> La información devuelta. Si no se encuentra, devuelve el nombre del tipo de atributo; si no tiene características relacionadas, devuelve una cadena en blanco </ return> cadena estática pública GetAssemblyInfo <TAttribute> (Ensamblaje de ensamblaje) donde TAttribute: Atributo { Tipo tipo = typeof (TAttribute); objeto [] atributos = montaje.GetCustomAttributes (tipo, falso ); if (atributos! && atributos. Longitud> 0 ) { PropertyInfo [] propertyInfos = type.GetProperties (); foreach (propiedad PropertyInfo en propertyInfos) { if ( typeof ( string ) .Equals (property.PropertyType)) { return property.GetValue (atributos [ 0 ]). ToString (); } } } return string .Empty; }