首页 > 解决方案 > 如何“正确”将 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++”吗?有没有我不知道的替代方法?

标签: c#c++

解决方案


推荐阅读