中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

.net 讀取項(xiàng)目AssemblyInfo.cs屬性值

We write all those code repetitively for dynamic assembly loading and checking to verify few properties on assemblies. It would be a great stop to write all such things in the assemblyinfo.cs (because it needs to completely describe the assembly that it is intended to serve for) You can define your About form of the application entirely using the AssemblyInfo.cs
How to use the following info:
AssemblyInfo ainfo = new AssemblyInfo();
frmAbout.Text = ainfo.Title;
frmAbout.menuAbt.Text = string.Format("&About{0}..",ainfo.Title);
frmAbout.Text = "About " + this.Owner.Text;
frmAbout.Icon = this.Owner.Icon;
//You can set the icon like this on the abt form.
frmAbout.pictureBox1.Image = this.Owner.Icon.ToBitmap();
frmAbout.lblTitle.Text = ainfo.Title;
frmAbout.lblVersion.Text = ainfo.Version;
frmAbout.lblCopyright.Text = ainfo.Copyright;
frmAbout.lblDescription.Text = ainfo.Description;
frmAbout.lblCodebase.Text = ainfo.CodeBase; 
下面是具體的實(shí)現(xiàn)代碼。
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
[assembly: AssemblyTitle("Demo Title")]
[assembly: AssemblyDescription("Demo app that reads from the Assembly Info file description")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("World Company")]
[assembly: AssemblyProduct("Not for commercial use.")]
[assembly: AssemblyCopyright("open source (US)")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: CLSCompliant(true)]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.1.1")]
# region "Class to get the information for AboutForm"
/* This class uses the System.Reflection.Assembly class to access assembly meta-data.
* This class is not a normal feature of AssmblyInfo.cs */
/// <summary>
/// AssemblyInfo class.
/// </summary>
public class AssemblyInfo
{
//Used by functions to access information from Assembly Attributes
/// <summary>
/// myType.
/// </summary>
private Type myType;
/// <summary>
/// Initializes a new instance of the <see cref="AssemblyInfo"/> class.
/// </summary>
public AssemblyInfo()
{
//Shellform here denotes the actual form.
myType = typeof(ShellForm);
}
/// <summary>
/// Gets the name of the assembly.
/// </summary>
/// <value>The name of the assembly.</value>
public String AssemblyName
{
get
{
return myType.Assembly.GetName().Name.ToString();
}
}
/// <summary>
/// Gets the full name of the assembly.
/// </summary>
/// <value>The full name of the assembly.</value>
public String AssemblyFullName
{
get
{
return myType.Assembly.GetName().FullName.ToString();
}
}
/// <summary>
/// Gets the code base.
/// </summary>
/// <value>The code base.</value>
public String CodeBase
{
get
{
return myType.Assembly.CodeBase;
}
}
/// <summary>
/// Gets the copyright.
/// </summary>
/// <value>The copyright.</value>
public String Copyright
{
get
{
Type att = typeof(AssemblyCopyrightAttribute);
object[] r = myType.Assembly.GetCustomAttributes(att, false);
AssemblyCopyrightAttribute copyattr = (AssemblyCopyrightAttribute)r[0];
return copyattr.Copyright;
}
}
/// <summary>
/// Gets the company.
/// </summary>
/// <value>The company.</value>
public String Company
{
get
{
Type att = typeof(AssemblyCompanyAttribute);
object[] r = myType.Assembly.GetCustomAttributes(att, false);
AssemblyCompanyAttribute compattr = (AssemblyCompanyAttribute)r[0];
return compattr.Company;
}
}
/// <summary>
/// Gets the description.
/// </summary>
/// <value>The description.</value>
public String Description
{
get
{
Type att = typeof(AssemblyDescriptionAttribute);
object[] r = myType.Assembly.GetCustomAttributes(att, false);
AssemblyDescriptionAttribute descattr = (AssemblyDescriptionAttribute)r[0];
return descattr.Description;
}
}
/// <summary>
/// Gets the product.
/// </summary>
/// <value>The product.</value>
public String Product
{
get
{
Type att = typeof(AssemblyProductAttribute);
object[] r = myType.Assembly.GetCustomAttributes(att, false);
AssemblyProductAttribute prodattr = (AssemblyProductAttribute)r[0];
return prodattr.Product;
}
}
/// <summary>
/// Gets the title.
/// </summary>
/// <value>The title.</value>
public String Title
{
get
{
Type att = typeof(AssemblyTitleAttribute);
object[] r = myType.Assembly.GetCustomAttributes(att, false);
AssemblyTitleAttribute titleattr = (AssemblyTitleAttribute)r[0];
return titleattr.Title;
}
}
/// <summary>
/// Gets the version.
/// </summary>
/// <value>The version.</value>
public String Version
{
get
{
return myType.Assembly.GetName().Version.ToString();
}
}
}
# endregion

AspNet技術(shù).net 讀取項(xiàng)目AssemblyInfo.cs屬性值,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久久国产一区二区 | 亚洲一区二区三区四区五区中文 | 美女在线视频一区二区三区 | 一区二区三区不卡视频 | 狠狠亚洲 | 一区二区在线免费观看 | 亚洲欧美国产一区二区三区 | 99re在线免费视频 | 成年人黄色一级毛片 | 在线视频成人 | 看片地址 | 91久久久久久 | 自拍视频网站 | 91在线电影| 国产综合精品一区二区三区 | 91国内外精品自在线播放 | 精品国产三级 | 免费的av网站 | 成人看片在线观看 | 天天操一操 | 最新av在线网址 | 精品婷婷 | 一区二区在线 | 精品国产一区二区三区日日嗨 | 成人精品国产免费网站 | 99re在线视频 | 久久国产精品色av免费观看 | 视频二区 | 伊人精品 | 久久艹av| 欧美性久久| 日韩有码一区二区三区 | 精品一区在线免费观看 | 精品久久一区二区三区 | 在线观看成年人视频 | 亚洲三区视频 | 超碰日本 | 一区二区av | 9999视频 | 一区二区三区四区视频 | 天天精品在线 |