我们可以使用Castle Windsors Fluent API设置“可转换”属性吗

本文关键字:可转换 属性 设置 API 可以使 Castle Windsors Fluent 我们 | 更新日期: 2023-09-27 18:24:11

我正试图从我的api的web.config中填充一个对象集合。我已经正确地提取了这些对象的所有属性,其中一个是我们对象中的另一个自定义对象。

现在,如果我将可转换属性添加到类中,一切都很好,但这通过在我们的域中添加对castle.windowsor的外部引用打破了我们的洋葱架构。具有可转换属性的复杂参数在这里详细介绍

web.config的castle部分中的Xml(去掉了绒毛)如下所示:

<component id="uniqueId" type="Project.Domain.Objects.Object, Project.Domain">
    <parameters>
    <Id>1</Id>
    <Name>name1</Name>
    <geofenceLocation>
      <parameters>
      <latitude>12</latitude>
      <longitude>44</longitude>
      <radius>100</radius>
      </parameters>
    </geofenceLocation>
    </parameters>
  </component>

我试图在不添加可转换属性的情况下序列化的对象是geofenceLocation对象。有没有一种方法可以将Attributes注入对象,这样我们就可以在Api中注入Convertible属性,或者有其他方法可以解决这个问题?

谢谢你抽出时间。

我们可以使用Castle Windsors Fluent API设置“可转换”属性吗

您可以将geofencelocation作为一个新组件来处理,如下所示:

<component id="geofenceLocation" type="your.type.here, your.assembly">
    <parameters>
      <latitude>12</latitude>
      <longitude>44</longitude>
      <radius>100</radius>
    </parameters>
</component>

以及来自其他组件的引用,如

<component id="uniqueId" type="Project.Domain.Objects.Object, Project.Domain">
    <parameters>
      <Id>1</Id>
      <Name>name1</Name>
      <geofenceLocation>${geofenceLocation}</geofenceLocation>
    </parameters>
</component>

希望能有所帮助。再见