У меня есть класс 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}
, и сохраню его в упругом поиске, эти типы будут взрываться должным образом без какого-либо столкновения типов, то есть A Voltage
будет разрушаться, как Response.Data.NumberValue
(числовое), а Text
разрушит до Response.Data.TextValue
(текст).
Однако иногда также возможно, что Data
может быть просто int
или string
. В этих случаях он будет разрушен до Response.Data
(длинный) и Response.Data
(текст). Что вызывает проблемы в упругом поисковом индексе.
Мне интересно, могу ли я использовать метод IDestructuringPolicy
s TryDestructure()
для пользовательского уничтожения класса Response
. Я бы хотел, чтобы int
также уничтожил до Response.Data.NumberValue
.