From e330005b835d6ec0a13619b1cd47187e1a18e8c8 Mon Sep 17 00:00:00 2001 From: Tymur Hulua Date: Mon, 26 May 2025 14:16:54 +0200 Subject: [PATCH] SpecificWriter Enum Name Matching; --- lang/csharp/src/apache/main/Specific/SpecificDatumWriter.cs | 2 +- lang/csharp/src/apache/main/Specific/SpecificWriter.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/csharp/src/apache/main/Specific/SpecificDatumWriter.cs b/lang/csharp/src/apache/main/Specific/SpecificDatumWriter.cs index c823253692d..8b0af9d974e 100644 --- a/lang/csharp/src/apache/main/Specific/SpecificDatumWriter.cs +++ b/lang/csharp/src/apache/main/Specific/SpecificDatumWriter.cs @@ -139,7 +139,7 @@ protected override bool UnionBranchMatches( Schema sc, object obj ) return obj is ISpecificRecord && ((obj as ISpecificRecord).Schema as RecordSchema).SchemaName.Equals((sc as RecordSchema).SchemaName); case Schema.Type.Enumeration: - return obj.GetType().IsEnum && (sc as EnumSchema).Symbols.Contains(obj.ToString()); + return obj.GetType().IsEnum && (sc as EnumSchema).Symbols.Contains(obj.ToString()) && sc.Name.Equals(obj.GetType().Name); case Schema.Type.Array: return obj is System.Collections.IList; case Schema.Type.Map: diff --git a/lang/csharp/src/apache/main/Specific/SpecificWriter.cs b/lang/csharp/src/apache/main/Specific/SpecificWriter.cs index 53d6407e947..e315e76ad8d 100644 --- a/lang/csharp/src/apache/main/Specific/SpecificWriter.cs +++ b/lang/csharp/src/apache/main/Specific/SpecificWriter.cs @@ -209,7 +209,7 @@ protected override bool Matches(Schema sc, object obj) return obj is ISpecificRecord && ((obj as ISpecificRecord).Schema as RecordSchema).SchemaName.Equals((sc as RecordSchema).SchemaName); case Schema.Type.Enumeration: - return obj.GetType().IsEnum && (sc as EnumSchema).Symbols.Contains(obj.ToString()); + return obj.GetType().IsEnum && (sc as EnumSchema).Symbols.Contains(obj.ToString()) && sc.Name.Equals(obj.GetType().Name); case Schema.Type.Array: return obj is System.Collections.IList; case Schema.Type.Map: