using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace IndianHealthService.BMXNet.Util
{
///
/// Convienence class to provide information from the AssembleInfo
///
/// [assembly: AssemblyTitle("IndianHealthService.BMXNet.Test")]
/// [assembly: AssemblyDescription("A test application")]
/// [assembly: AssemblyCompany("IHS")]
/// [assembly: AssemblyProduct("IndianHealthService.BMXNet.Test")]
/// [assembly: AssemblyCopyright("IHS 2009")]
/// [assembly: AssemblyVersion("2.0.0.0")]
///
///
public static class EntryAssemblyInfo
{
///
/// Convienence method to provide information from the AssembleInfo
///
/// [assembly: AssemblyTitle("IndianHealthService.BMXNet.Test")]
///
///
public static string AssemblyTitle
{
get
{
// Get all Title attributes on this assembly
object[] attributes = Assembly.GetEntryAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
// If there is at least one Title attribute
if (attributes.Length > 0)
{
// Select the first one
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
// If it is not an empty string, return it
if (titleAttribute.Title != "")
return titleAttribute.Title;
}
// If there was no Title attribute, or if the Title attribute was the empty string, return the .exe name
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}
///
/// Convienence method to provide information from the AssembleInfo
///
/// [assembly: AssemblyVersion("2.0.0.0")]
///
///
public static string AssemblyVersion
{
get
{
return Assembly.GetEntryAssembly().GetName().Version.ToString();
}
}
///
/// Convienence method to provide information from the AssembleInfo
///
/// [assembly: AssemblyDescription("A test application")]
///
///
public static string AssemblyDescription
{
get
{
// Get all Description attributes on this assembly
object[] attributes = Assembly.GetEntryAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
// If there aren't any Description attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Description attribute, return its value
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
}
}
///
/// Convienence method to provide information from the AssembleInfo
///
/// [assembly: AssemblyProduct("IndianHealthService.BMXNet.Test")]
///
///
public static string AssemblyProduct
{
get
{
// Get all Product attributes on this assembly
object[] attributes = Assembly.GetEntryAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
// If there aren't any Product attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Product attribute, return its value
return ((AssemblyProductAttribute)attributes[0]).Product;
}
}
///
/// Convienence method to provide information from the AssembleInfo
///
/// [assembly: AssemblyCopyright("IHS 2009")]
///
///
public static string AssemblyCopyright
{
get
{
// Get all Copyright attributes on this assembly
object[] attributes = Assembly.GetEntryAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
// If there aren't any Copyright attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Copyright attribute, return its value
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}
///
/// Convienence method to provide information from the AssembleInfo
///
/// [assembly: AssemblyCompany("IHS")]
///
///
public static string AssemblyCompany
{
get
{
// Get all Company attributes on this assembly
object[] attributes = Assembly.GetEntryAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
// If there aren't any Company attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Company attribute, return its value
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
}
}