SharpSerializer can serialize types like: multidimensional array, nested array, array-of-arrays, polymorphic object (where value is inherited from the property type), generic type, generic listing (i.e. dictionary, collection) and many more, with a single line of code
If I have only getter and not setter - property is not serialized into complex (to xml). I need to write set{} to fix it. Why we need to have setter?