diff --git a/crates/codegen/src/csharp.rs b/crates/codegen/src/csharp.rs index f40bf9148a0..af87070a58a 100644 --- a/crates/codegen/src/csharp.rs +++ b/crates/codegen/src/csharp.rs @@ -1413,13 +1413,14 @@ fn autogen_csharp_plain_enum(enum_type_name: String, enum_type: &PlainEnumTypeDe let mut output = CsharpAutogen::new(namespace, &[], false); writeln!(output, "[SpacetimeDB.Type]"); - writeln!(output, "public enum {enum_type_name}"); + writeln!(output, "public enum {enum_type_name} : IEquatable<{enum_type_name}>"); indented_block(&mut output, |output| { for variant in &*enum_type.variants { let variant = variant.deref().to_case(Case::Pascal); writeln!(output, "{variant},"); } - }); + writeln!(output); + writeln!(output, "public bool Equals({enum_type_name} other) => this == other;"); output.into_inner() }