我有一個非託管的C++應用程序(非託管含義:不使用任何花哨的.NET工具)。我想用一些元信息來擴展它,看起來我可以使用屬性的概念。是否可以在非託管代碼中使用屬性?
我實際嘗試實現的是以下內容。 從什麼開始的簡單類是這樣的:
class Book
{
public:
...
private:
string m_name;
string m_author;
int m_year;
};
我想建立一個可以在類的訪問「元信息」功能,並用它來動態地建立在其上,例如邏輯
- 含3個編輯字段(名稱,作者,年)的對話
- 3列
- 系列化邏輯數據網格
- ,這個類映射到數據庫表3列 邏輯
- ...
我在我最瘋狂的夢想我想修改這個類是這樣的:
[id="Book"]
class Book
{
public:
...
private:
[id="Name", defaultValue="", maximumLength=100]
string m_name;
[id="Author", defaultValue="", maximumLength=100]
string m_author;
[id="Year", defaultValue=2000, minimum=1900]
int m_year;
};
然後能夠得到這個「元」信息,建立對話,填充數據網格,序列化和反序列化的情況下,...
但是,受限於淨屬性的概念/管理碼?
如果我可以在非託管代碼中使用屬性,是否可以做這樣的事情?什麼是開始的好地方? (例子,...)
另外,在其他平臺上可以找到其他編譯器中的相同(或類似)概念嗎?
我正在使用Visual Studio 2010,如前所述,非託管/本地C++。
(注意,您不必說非託管,它只是C++,而不是「非託管C++」。Gr Microsoft。) – GManNickG 2010-09-30 15:00:09
完全同意GMan。不幸的是,一旦開始在Microsoft網站上查找C++,他們就會認爲您默認使用.Net。 – Patrick 2010-09-30 15:45:08