【发布时间】:2013-03-16 02:56:01
【问题描述】:
我需要在托管 C++ 项目中使用手写的 getter/setter 定义属性,该类可用于 C# .NET 项目。
主题上的codeproject article推荐
__property float Volume;已过时,现在归类为/crl:oldSyntax。Open Standard managed extensions to C++ article 表示定义像
property float Volume;这样的属性会自动生成一个支持字段,这是我不想要或不需要的。简单地定义像
property float Volume;这样的属性可以用/clr很好地编译,但是尝试添加像float Mixer::Volume::get(){ .. }这样的手写getter/setter 抛出Error C2084: function X already has a body。
那么,在没有支持字段的情况下,以及使用自定义构建的手写 getter/setter 方法来定义只读或读/写属性的正确方法是什么?
【问题讨论】:
标签: c++ .net visual-c++ syntax properties