我有一个类Response
,其中Data
类型主要是SI类型的复杂类型,例如Voltage
,Current
等
public class Response
{
string Name { get; }
object Data { get; }
ctor(...) {}
}
public class Voltage {
double NumberValue { get; }
...
}
public class Number {
bool NumberValue { get; }
...
}
public class Text {
string TextValue { get; }
...
}
如果我使用{@Response}
对其进行破坏并将其存储在弹性搜索中,则这些类型将正确爆炸而不会发生类型冲突,即Voltage
会像Response.Data.NumberValue
(数字)那样破坏。 Text
将破坏为Response.Data.TextValue
(文本)。
但是,有时Data
也可能只是int
或string
。在这些情况下,它将破坏为Response.Data
(长)和Response.Data
(文本)。这会导致弹性搜索索引出现问题。
我想知道是否可以使用IDestructuringPolicy
的{{1}}方法自定义销毁TryDestructure()
类。我希望Response
也能破坏为int
。