目前版本的VC2005测试版中,default关键字不仅用于指定类级别的索引器,而且也用于访问默认属性。但是奇怪的是,默认属性的原名不能访问了,也就是说,如果要把下面的代码段从托管C++移植到VC2005附带的C++/CLI,不仅需要更改指针的类型,而且要把属性的名称更改为default:
//[System::Reflection::DefaultMemberAttribute("Fields")] interface _Recordset
//托管C++语法
//extern _Recordset* results;
Fields* ResultFields=results->Fields;
//C++/CLI语法
//extern _Recordset^ results;
Fields^ ResultFields=results->default;
如果继续使用原来名字来访问属性的话,会报告编译错误:
Fields^ ResultFields=results->Fields;//C3293: 'Fields': use 'default' t
文章来源:
http://blog.csdn.net/jiangsheng/archive/2005/10/08/497924.aspx