c# - 如何“正确”将 C# 属性转换为 C++?
问题描述
我用 C# 编写了一个图表库。我正在编写完全相同的库,但对于 C++,作为一个学习项目。我现在遇到的主要问题是将所有 C# 属性转换为 C++。最初,我打算将所有 getter 和 setter 写成函数,但是由于我的库的结构方式,它使代码有点难以阅读。让我用一个例子来解释:
如果我想更改第一个子图的 X 轴的最小值,我会在 C# 中执行以下操作:
myChart.Subplots[0].Axes.X.Bounds.Min = 5;
在 C++ 中,相同的代码如下所示:
myChart.GetSubplot(0).GetAxes().GetXAxis().GetBounds().SetMin(5);
也许我太习惯 C#,但这对我来说看起来很不对劲。在 C# 版本中,您只需浏览代码即可立即看到发生了什么,而 C++ 版本非常冗长且令人费解。最初我想把所有东西都公开,但这不仅是个坏主意,而且我还想让一些 getter 和 setter 私有。
我应该怎么办?我应该坚持我目前正在做的事情吗?我应该完全重组我的库,使其更像“C++”吗?有没有我不知道的替代方法?
解决方案
推荐阅读
- python - 如何使用 if 语句检查 ec2 实例是否正在运行?
- javascript - 原生排序方法如何处理稀疏数组
- css - jumbotron中的引导图像位置
- c# - 定期循环通过 3 值 C# 枚举的单个(且成本低廉)操作(即使用换行)
- excel - 在“on error goto”错误处理程序之后,我如何恢复到所需的代码行而不是继续下一个
- couchdb - 在 CouchDB 服务器上设置和在生产中使用 PouchDB 的正确方法是什么
- javascript - 如何使用 javascript 在选项卡窗格 div 中加载表格?
- java - 当 OneToOne 关系映射到 MapsId 时,findAll() 方法不返回最近插入的记录
- javascript - 反应添加幻灯片窗格有一些问题
- javascript - 我如何获得“纬度”和“经度”并将其显示到您的地图上