ニコニコC++入門

入門サイトや市販の入門書では絶対に教えてくれない、C++の本当の使い方を教えます。

アセンブリ情報を読み込むには

2005-07-31 23:00:46 | Managed C++

.netの世界では、アセンブリというのは要するに実行ファイルのことです。実行ファイルの情報を設定するには、AssemblyInfo.cppを適当にいじります。

そしてその情報を取得するには以下のようにします。

System::Reflection::AssemblyName *name = System::Reflection::Assembly::GetExecutingAssembly()->GetName();

labelName->Text = name->Name;
labelVersion->Text = String::Format(S"hoge Version {0}", name->Version); 

バージョン情報以外の情報はこんな感じで読みます。

template<class T> T *GetAttrib(Assembly *myAsm)
{
 return dynamic_cast<T *>(myAsm->GetCustomAttributes(__typeof(T), true)->Item[0]);
}

System::Void AbortDialog::AbortDialog_Load(System::Object * sender, System::EventArgs * e)
{
 Assembly *myAsm = Assembly::GetExecutingAssembly();

 labelName->Text = GetAttrib<AssemblyProductAttribute>(myAsm)->Product;
 labelVersion->Text = String::Format(S"{0} Version {1}", labelName->Text, myAsm->GetName()->Version);
 labelCopyRight->Text = GetAttrib<AssemblyCopyrightAttribute>(myAsm)->Copyright;
}


最新の画像もっと見る