Skip to content

Generator: extensible enum structs with Equals/ToString values cause CS0102 compilation errors #181

@daviburg

Description

@daviburg

Problem

When regenerating all connectors with the updated CodefulSdkGenerator, 13 new connectors produce compilation errors due to extensible enum structs with swagger-defined enum values that collide with the [EditorBrowsable(Never)] overrides for Equals, GetHashCode, and ToString.

Errors

  • CS0102: Duplicate Equals member definition (swagger enum value Equals + generated override)
  • CS0108: Member hides inherited member without new keyword
  • CS0111: Duplicate method definition
  • CS0556/CS0563: Struct-specific errors from the duplicate members
  • CS0101/CS0542/CS0100: Related cascading errors

Affected Connectors

  • Blackbaudaltruconsti
  • Blackbaudcrmconstitu
  • Dataflows
  • Documentscorepackapi
  • Dynamicssmbsaas
  • Etsy
  • Iaconnectmsoffice
  • Meisterplan
  • Powerassist
  • Tabscannerreceiptocr
  • Workpoint365

Root Cause

The generator emits extensible enum structs with [EditorBrowsable(Never)] overrides for Equals, GetHashCode, and ToString (per Azure SDK guidelines). When a swagger enum definition includes a value named Equals or ToString, the generated struct has a duplicate member.

Proposed Fix

In the generator's extensible enum emission code, skip generating enum values named Equals, GetHashCode, or ToString (or rename them with a suffix like EqualsValue), since these collide with the struct's required overrides.

Context

Discovered during SDK regeneration for Azure SDK guideline compliance (#156, #157, #161, #175).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions