[ https://issues.apache.org/jira/browse/THRIFT-1212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13052658#comment-13052658 ]
Vadim Chekan commented on THRIFT-1212: -------------------------------------- After some thinking, may be we can come up with a method which would satisfy everybody. If conflict is detected in C# generator, it throws an exception. But there would be an option (or several of them) which would allow to resolve conflict in some way. For example "--conflict-strategy-preserve-case" and "--conflict-strategy-use-underscore". This way there is no implicit operation yet user can deal with the situation without too much effort. How that sounds? > Members capital case conflict > ----------------------------- > > Key: THRIFT-1212 > URL: https://issues.apache.org/jira/browse/THRIFT-1212 > Project: Thrift > Issue Type: Bug > Components: C# - Compiler > Affects Versions: 0.6.1 > Environment: Windows 7 > Reporter: Vadim Chekan > Priority: Minor > > When generating "csharp" target off the following structure: > === > struct Order { > 1: string col, // sort column name > 2: i32 order // asc(1) or desc(0) > } > === > the code is generated: > class Order { public int Order ... > This code fails to compile in C# compiler because member name is the same as > containing clsss name, which is invalid in C#. > Perhaps there must be a check when generating members and if capitalized > member name turns out to be the same as containing class name, then prepend > it with underscore. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira