天天躁日日躁狠狠躁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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日本特黄的免费大片视频 | 曰韩一本道高清无码av | 国产精品九九久久精品视 | 色欲天天婬色婬香影院 | 无码人妻精品一区二区蜜桃色欲 | 黄A无码片内射无码视频 | 91国内精品久久久久免费影院 | 久啪久久全部视频在线 | 总攻催眠受的高h巨肉np | 综合精品欧美日韩国产在线 | 99精品国产自在自线 | 欧美一级黄色影院 | 日韩精品无码久久一区二区三 | 91国偷自产一区二区三区 | 亚洲欧洲精品成人久久曰影片 | 精品国产99久久久久久麻豆 | 湖南张丽大战黑人hd视频 | 把腿张开老子CAO烂你动态图 | 久久精品亚洲AV中文2区金莲 | 年轻漂亮的妺妺中文字幕版 | 国产人妻人伦精品久久无码 | 国产精品人妻久久无码不卡 | 青青草原在线新免费 | 中国明星16xxxxhd | 色www精品视频在线观看 | 亚洲精品AV一区午夜福利 | gogogo免费视频观看 | 亚洲欧美日韩另类精品一区二区三区 | 国产AV99激情久久无码天堂 | 亚洲伊人久久大香线蕉综合图片 | 国产精品久久久久AV麻豆 | 欧美精品AV一区二区无码 | 欧美午夜a级精美理论片 | 国产不卡无码高清视频 | 久久影院中文字幕 | 久久女婷五月综合色啪 | 国产精品自在在线午夜精品 | 嫩草电影网嫩草影院 | 最新中文字幕在线视频 | 久久午夜夜伦鲁鲁片无码免费 | 黑人操日本女人 |