问题标签 [targettype]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 无法让 MapStruct 与 Enum Inheritance 和 @TargetTytpe 一起使用
这是我的示例设置:
我无法通过考试。
我尝试使用或不使用qualifiedByName
,但无法让 MapStruct 使用该mapStringToEnum
方法。
我不确定这是否是 MapStruct 中的一个错误,在使用时无法使用 Enum 继承,@TargetType
或者我遗漏了一些东西。
- 使用
@Mapping(source = "message", target = "messageA", qualifiedByName = "stringToEnum")
时,会出现编译时错误:
- 当使用
@Mapping(source = "message", target = "messageA")
或与 resultType 一起使用时@Mapping(source = "message", target = "messageA", resultType = EnumMessage.class
,生成的实现会忽略提供的方法。
如果有更优雅的方法来概括映射,我愿意接受建议。注意:我不能使用 ,@BeforeMapping / @AfterMapping
因为我有许多要映射的枚举类型,因此寻找隐式或通用的解决方案。
c# - 如何使用 object.GetType() 将对象转换为任何类型
我有一个object
类型变量,我想将其转换为其原始数据类型。数据类型可以是任何东西(int、enum、class 等)
(object.GetType())object
不管用
编辑:
我想再次将其转换为原始的原因,因为我正在构建一个带有多个参数的 cosmos db 查询
我有一个方法QueryCosmos(Dictionary<string, object> parameters)
,其中 key 是 cosmos 中的字段名称,value 是与条件匹配的字段的值(它可以是任何数据类型)。
我的问题是这行代码var value = p.Value == null ? "null" : p.Value.ToString().ToLower();
如果我传递一个enum
类型,与 cosmos 中的数据不匹配。因为在cosmos中,这是存储为枚举的数值。我需要它转换成它的numeric
价值。enum
可以传递多种可能的类型。这就是为什么我想要一种动态方式来转换为原始数据类型的原因
希望这可以消除担忧