EnumNullableModelType.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using System.Text;
  3. namespace FlutterCodeGenerator.ModelTypes
  4. {
  5. internal class EnumNullableModelType : ComplexModelType
  6. {
  7. public EnumNullableModelType(Type type, string name) : base(type, name)
  8. {
  9. }
  10. public override string GetFlutterTypeName(bool isDefault = true, bool isGenericName = false, bool isSingle = false)
  11. {
  12. if (Index > 1)
  13. {
  14. return $"{ParameterType.Name}{Index}";
  15. }
  16. else
  17. {
  18. return $"{ParameterType.Name}";
  19. }
  20. }
  21. public override string GetDartString()
  22. {
  23. var dartString = new StringBuilder();
  24. dartString.AppendLine($"enum {GetFlutterTypeName()} {{");
  25. foreach (var enumvalue in Enum.GetNames(ParameterType))
  26. {
  27. dartString.AppendLine($"\t{enumvalue},");
  28. }
  29. dartString.AppendLine("}");
  30. return dartString.ToString();
  31. }
  32. }
  33. }