gpt4 book ai didi

dart - 从 dartlang 中的字符串创建类实例

转载 作者:行者123 更新时间:2023-12-03 03:17:20 25 4
gpt4 key购买 nike

我已经创建了这个类

class Opacity {
String a,b,c;

Opacity({this.a, this.b,this.c});
}

我正在尝试仅使用字符串和 HashMap 作为参数来动态创建此类的实例。

String type = "Opacity";
List<String> args = {'a': 'a', 'b': 'b','c': 'c'}

我有一个限制,我无法修改 Opacity 类。

为了创建实例,我考虑使用反射从字符串动态创建类,但我不知道如何动态传递参数。

最佳答案

要将参数动态传递给构造函数,您可以使用 ClassMirrornewInstance 方法。

例如

  MirrorSystem mirrors = currentMirrorSystem();
ClassMirror classMirror = mirrors.findLibrary(Symbol.empty).declarations[new Symbol('Opacity')];
print(classMirror);
var arguments = {'a': 'a', 'b': 'b', 'c': 'c'}.map((key, value) {
return MapEntry(Symbol(key), value);
});
var op = classMirror.newInstance(Symbol.empty, [], arguments);
Opacity opacity = op.reflectee;
print("opacity.a: ${opacity.a}");
print("opacity.b: ${opacity.b}");
print("opacity.c: ${opacity.c}");

关于dart - 从 dartlang 中的字符串创建类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55169565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com