我面临以下问题:
我的接口是用 C# 定义的。我在我的界面中使用自定义枚举。一些枚举与它们返回的数据类型具有相同的名称,例如:
Foo Foo { get; }
Bar Bar { get; }
我使用 tlbexp 来使用 C++ 中的模块。与其数据类型共享名称的属性从“Name”重命名为“_Name”:
Bar myEnumValue = pFoo->Bar // 不存在
Bar myEnumValue = pFoo->_Bar // 是我的“Bar”-属性
到目前为止,我没有找到任何关于原因以及我是否/如何能够防止这种情况的文档。在构建或导出期间我没有收到任何警告。为了使我的模块的使用直观,我不想重命名属性或枚举。
谁能解释我为什么会这样?