THRIFT-1958 C#: Use static Object.Equals instead of .Equals() calls in equals
authorJens Geyer <jensg@apache.org>
Mon, 27 May 2013 21:55:56 +0000 (23:55 +0200)
committerJens Geyer <jensg@apache.org>
Mon, 27 May 2013 21:55:56 +0000 (23:55 +0200)
Patch: Carl Yeksigian

compiler/cpp/src/generate/t_csharp_generator.cc

index 90336a6..a1041fd 100644 (file)
@@ -1076,10 +1076,11 @@ void t_csharp_generator::generate_csharp_struct_equals(ofstream& out, t_struct*
     }
     t_type* ttype = (*f_iter)->get_type();
     if (ttype->is_container()) {
-      out << "TCollections.Equals(" << prop_name((*f_iter)) << ", other." << prop_name((*f_iter)) << ")";
+      out << "TCollections.Equals(";
     } else {
-      out << prop_name((*f_iter)) << ".Equals(other." << prop_name((*f_iter)) << ")";
+      out << "System.Object.Equals(";
     }
+    out << prop_name((*f_iter)) << ", other." << prop_name((*f_iter)) << ")";
     if (!field_is_required((*f_iter)) && !(nullable_ && !field_has_default((*f_iter)))) {
       out << ")))";
     }