Как я могу заставить XStream производить списки Scala приятно? Я могу записать пользовательский преобразователь?

static void Main(string[] args)
{
  Console.WriteLine("Name is '{0}'", GetName(new {args}));
  Console.ReadLine();
}

static string GetName(T item) where T : class
{
  var properties = typeof(T).GetProperties();
  Enforce.That(properties.Length == 1);
  return properties[0].Name;
}

[Еще 112] детали находятся в это сообщение в блоге .

6
задан Alex Black 18 November 2009 в 03:54
поделиться

2 ответа

Не прошло и секунды после публикации вопроса, как мне пришел ответ, вот рабочая реализация демаршала:

  def unmarshal( reader: HierarchicalStreamReader, context: UnmarshallingContext ) = {
    var list : List[_] = Nil 
    while (reader.hasMoreChildren()) {
      reader.moveDown();
      val item = readItem(reader, context, list);
      list = list ::: List(item) // be sure to build the list in the same order
      reader.moveUp();
    }
    list
  }
2
ответ дан 17 December 2019 в 18:17
поделиться

Существует только один экземпляр пустого списка, которым является объект Nil .

1
ответ дан 17 December 2019 в 18:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: