Enum from String

前端 未结 18 2024
温柔的废话
温柔的废话 2020-12-15 14:54

I have an Enum and a function to create it from a String because i couldn\'t find a built in way to do it



        
18条回答
  •  失恋的感觉
    2020-12-15 15:49

    Your enum

    enum Day {
      monday,
      tuesday,
    }
    

    Add this extension (need a import 'package:flutter/foundation.dart';)

    extension EnumEx on String {
      Day toEnum() => Day.values.firstWhere((d) => describeEnum(d) == toLowerCase());
    }
    

    Usage:

    void main() {
      String s = 'monday'; // String
      Day monday = s.toEnum(); // Converted to enum
    }
    

提交回复
热议问题