동안 필드 및 클래스 이름을 변경하는 방법이 같은 구조체와 결합 파일이 있습니다. 그러나 C# 코드에서는 필드 이름을 대문자로 표기합니다 : MyField1, MyField2.본드 : 나는 C에 대한 ++ 또한 C#을위한 코드를 생성하기 위해이 파일을 사용하고</p> <pre><code>struct Foo { 0: float myField1; 1: float myField2; } </code></pre> <p>: 코드 생성
이렇게 할 방법이 있습니까?
마찬가지로 Foo를 내 C# 코드에서 Bar라는 이름으로 지정하여 (본드 클라이언트와 역 호환되기 위해) 필요할 수 있습니다. 그러나 이것이 어떻게 행해질 수 있는지에 대한 어떠한 문서도 보이지 않습니다.
감사합니다. 이 문제를 점검하고 비슷한 해결책이있는 내 솔루션과 비교해 보겠습니다 : 나는 2 개의 .bond 파일을 만들었고, 하나는 C++ 용이고 다른 하나는 C# 용으로 만들었습니다. 대문자 및 전환이 필요한 특정 분야 (예 : TimeSpan)를 제외하고는 거의 동일합니다. 이 솔루션은 또한 파일을 동기화 상태로 유지하는 문제가 있습니다. (바이너리 직렬화를 사용하고 있기 때문에 이름의 차이점이 나를 괴롭히지 않는다.) – Eli
C++과 C#에서 같은 대문자를 사용하고 싶다면 하나의 .bond 파일로 이동할 수있다. 시간 범위의 경우 'using TimeSpan = uint64'와 같은 별칭은 [C#] (https://github.com/Microsoft/bond/tree/master/examples/cs/core/date_time)과 [C++] (https://github.com/Microsoft/bond/tree/master/examples/cpp/core/time_alias); 코드 생성시 gbc에 다른 옵션을 제공하면됩니다. – chwarr