瀏覽代碼

Support IList and IEnumerable

Felix 2 年之前
父節點
當前提交
1f099f68ef
共有 2 個文件被更改,包括 8 次插入11 次删除
  1. 7 10
      ModeType.cs
  2. 1 1
      ModeTypeGenerator.cs

+ 7 - 10
ModeType.cs

@@ -584,19 +584,19 @@ namespace FlutterCodeGenerator
         {
             if (isDefault)
             {
-                return ParameterType.Name[0..^2] + "<" + GenericArgumentModelType.GetFlutterTypeName() + ">";
+                return "List<" + GenericArgumentModelType.GetFlutterTypeName() + ">";
             }
 
             if (isGenericName)
             {
-                return ParameterType.Name[0..^2] + "<T>";
+                return "List<T>";
             }
             if (isSingle)
             {
-                return ParameterType.Name[0..^2];
+                return "List";
             }
 
-            return ParameterType.Name[0..^2] + "<" + GenericArgumentModelType.GetFlutterTypeName() + ">";
+            return "List<" + GenericArgumentModelType.GetFlutterTypeName() + " >";
         }
     }
 
@@ -619,18 +619,15 @@ namespace FlutterCodeGenerator
 
         public override string GetFlutterTypeName(bool isDefault = true, bool isGenericName = false, bool isSingle = false)
         {
-            var flutterTypeName = ParameterType.Name[0..^2].Replace("Dictionary", "Map");
             if (isDefault)
             {
-                flutterTypeName += "<" + GenericArgumentModelTypeList[0].GetFlutterTypeName() + "," + GenericArgumentModelTypeList[1].GetFlutterTypeName() + ">";
-                return flutterTypeName;
+                return "Map<" + GenericArgumentModelTypeList[0].GetFlutterTypeName() + "," + GenericArgumentModelTypeList[1].GetFlutterTypeName() + ">";
             }
             if (isSingle)
             {
-                return ParameterType.Name[0..^2].Replace("Dictionary", "Map");
+                return "Map";
             }
-            flutterTypeName += "<" + GenericArgumentModelTypeList[0].GetFlutterTypeName() + "," + GenericArgumentModelTypeList[1].GetFlutterTypeName() + ">";
-            return flutterTypeName;
+            return "Map<" + GenericArgumentModelTypeList[0].GetFlutterTypeName() + "," + GenericArgumentModelTypeList[1].GetFlutterTypeName() + ">";
         }
     }
 

+ 1 - 1
ModeTypeGenerator.cs

@@ -99,7 +99,7 @@ namespace FlutterCodeGenerator
                 }
                 else if (type.IsGenericType)
                 {
-                    if (type.Name == "List`1")
+                    if (type.Name == "List`1" || type.Name=="IList`1"|| type.Name == "IEnumerable`1")
                     {
                         var modelType = new ListModelType(type, argName);
                         return modelType;