From c654416843d84a9bd43add0dbc4567920947ea73 Mon Sep 17 00:00:00 2001 From: David Reiss Date: Tue, 6 Jan 2009 19:49:33 +0000 Subject: [PATCH] THRIFT-129. csharp: Make all Thrift structures extend TBase git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@732081 13f79535-47bb-0310-9956-ffa450edef68 --- .../cpp/src/generate/t_csharp_generator.cc | 8 +++---- lib/csharp/src/Protocol/TBase.cs | 23 +++++++++++++++++++ lib/csharp/src/Thrift.csproj | 1 + 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 lib/csharp/src/Protocol/TBase.cs diff --git a/compiler/cpp/src/generate/t_csharp_generator.cc b/compiler/cpp/src/generate/t_csharp_generator.cc index a5c4bd14..088a025b 100644 --- a/compiler/cpp/src/generate/t_csharp_generator.cc +++ b/compiler/cpp/src/generate/t_csharp_generator.cc @@ -387,18 +387,18 @@ void t_csharp_generator::generate_csharp_struct(t_struct* tstruct, bool is_excep void t_csharp_generator::generate_csharp_struct_definition(ofstream &out, t_struct* tstruct, bool is_exception, bool in_class, bool is_result) { - if (!in_class) - { + if (!in_class) { start_csharp_namespace(out); } out << endl; indent(out) << "[Serializable]" << endl; - indent(out) << "public class " << tstruct->get_name() << " "; + indent(out) << "public class " << tstruct->get_name() << " : "; if (is_exception) { - out << ": Exception "; + out << "Exception, "; } + out << "TBase"; out << endl; diff --git a/lib/csharp/src/Protocol/TBase.cs b/lib/csharp/src/Protocol/TBase.cs new file mode 100644 index 00000000..46c5e2a9 --- /dev/null +++ b/lib/csharp/src/Protocol/TBase.cs @@ -0,0 +1,23 @@ +// +// TBase.cs +// +// Distributed under the Thrift Software License +// +// See accompanying file LICENSE or visit the Thrift site at: +// http://developers.facebook.com/thrift/using + +namespace Thrift.Protocol +{ + public interface TBase + { + /// + /// Reads the TObject from the given input protocol. + /// + void Read(TProtocol tProtocol); + + /// + /// Writes the objects out to the protocol + /// + void Write(TProtocol tProtocol); + } +} diff --git a/lib/csharp/src/Thrift.csproj b/lib/csharp/src/Thrift.csproj index 1a1a332d..9f3f6209 100644 --- a/lib/csharp/src/Thrift.csproj +++ b/lib/csharp/src/Thrift.csproj @@ -46,6 +46,7 @@ + -- 2.17.1