[ 
https://issues.apache.org/jira/browse/THRIFT-1964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13654561#comment-13654561
 ] 

Jens Geyer commented on THRIFT-1964:
------------------------------------

I was able to solve the issue by modifying the generated code a Little:

1. using System.Xml.Serialization;
2. remove the {code}#if !SILVERLIGHT  [Serializable]  #endif{code} from the 
{code}Isset struct{code}
3. added {code}[XmlIgnore]{code} to {code}public Isset __isset;{code}

The issets are set during deserialization, see my (modified) test case
                
> 'Isset' will cause xmlserializer crashed.
> -----------------------------------------
>
>                 Key: THRIFT-1964
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1964
>             Project: Thrift
>          Issue Type: Bug
>          Components: C# - Compiler
>    Affects Versions: 0.9
>         Environment: .net framework 3.5
>            Reporter: xq.gzh
>              Labels: Isset
>         Attachments: a.thrift, ReproduceTheIssue.zip
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> same class name 'Isset' in user defined class will cause xmlserializer 
> crashed. 
> below is the sample thrift:  
> struct A {
>  1: string x;
> }
> struct B {
>  1: string y;
> }
> struct C {
>  1:A a
>  2:B b
> }
> generate code and try xmlserialize instance of class C. it crashed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to