塞里洛格解构-混合类型

时间:2019-03-21 01:26:50

标签: elasticsearch serilog

我有一个类Response,其中Data类型主要是SI类型的复杂类型,例如VoltageCurrent

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也可能只是intstring。在这些情况下,它将破坏为Response.Data(长)和Response.Data(文本)。这会导致弹性搜索索引出现问题。

我想知道是否可以使用IDestructuringPolicy的{​​{1}}方法自定义销毁TryDestructure()类。我希望Response也能破坏为int

0 个答案:

没有答案
相关问题