次の問題に直面しています。
私のインターフェイスは C# で定義されています。インターフェイスでカスタム列挙型を使用しています。一部の列挙型は、それらが返すデータ型と同じ名前を持っています。例:
Foo Foo { get; }
Bar Bar { get; }
C++ でモジュールを使用するには、tlbexp を使用します。データ型と名前を共有するプロパティの名前は、"Name" から "_Name" に変更されます。
Bar myEnumValue = pFoo->Bar // 存在しません
Bar myEnumValue = pFoo->_Bar // は私の 'Bar' プロパティです
これまでのところ、その理由と、これを防ぐことができるかどうか、またはその方法についてのドキュメントは見つかりませんでした。ビルドまたはエクスポート中に警告が表示されません。モジュールを直感的に使用するために、プロパティまたは列挙型の名前を変更したくありません。
なぜこれが起こるのか誰にも説明できますか?