Below is a snippet of code that I have extracted for illustrative purpose only.

I have an enum declared in Solidity and returns in a function.

enum State { start, end }
function Test() public view returns(uint, State) ....

In my Nethereum CSharp DTO, may I know how can I model the enum? And how do I know the value of start and end? Are they default to 0 and 1?

[Parameter("enum", 2)]
public int State { get; set; }

Note: This is not duplicate of the JavaScript question, and it is about the conversion from Solidity to Nethereum (in CSharp).

  • It looks like Solidity enums work the same as other enums, ie integer types starting at 0. Have you tried just duplicating the definition with start = 0 and end = 1? (It's not ideal, sure.)
    – Jamie Hale
    Commented Mar 26, 2018 at 15:33
  • I have to explicitly cast it to uint otherwise the DTO can't work. Not sure why.
    – s k
    Commented Mar 26, 2018 at 22:19


Browse other questions tagged or ask your own question.