Created by: rubms
PR checklist
-
Read the contribution guidelines. -
Ran the shell script under ./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
and./bin/security/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
. -
Filed the PR against the correct branch: master
,3.4.x
,4.0.x
. Default:master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language.
C.C. @mandrean (2017/08) @jimschubert (2017/09)
Description of the PR
Fixed issue #1531 (closed) which caused enums used as non-required operation parameters to generate a C# code that does not compile. The reason for the error was that these enums were not generated as Nullable
but they where being assigned null
and compared to null
.
I have fixed the error by:
- Adding a piece of code in the
csharp
api.mustache
template, that adds a?
after parameter data types when the parameter is non-required and non-nullable. - Correctly marking the
isEnum
andisNullable
properties of operation parameters in the post-process performed inAbstractCsharpCodegen
.