THRIFT-1958 C#: Use static Object.Equals instead of .Equals() calls in equals
Patch: Carl Yeksigian
diff --git a/compiler/cpp/src/generate/t_csharp_generator.cc b/compiler/cpp/src/generate/t_csharp_generator.cc
index 90336a6..a1041fd 100644
--- a/compiler/cpp/src/generate/t_csharp_generator.cc
+++ b/compiler/cpp/src/generate/t_csharp_generator.cc
@@ -1076,10 +1076,11 @@
}
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 << ")))";
}