Веб-сервис ASMX, не сериализирующий абстрактный базовый класс

Нет, если Вы строго говоря о регулярных выражениях и не включая некоторые реализации регулярного выражения, которые являются на самом деле контекстно-свободными грамматиками.

существует одно ограничение регулярных выражений, которое лишает возможности писать regex, который соответствует всем и только regexes. Вы не можете соответствовать реализациям, таким как фигурные скобки, которые соединяются. Regexes используют много таких конструкций, позволяет, берут [] в качестве примера. Каждый раз, когда существует [должно быть соответствие]. Достаточно простой для regex" [.*]".

то, Что лишает возможности regexes, - то, что они могут быть вложены. Как можно записать regex, который соответствует вложенным скобкам? Ответ - Вы, не может без бесконечно длинного regex. Можно соответствовать любому количеству вложенного parens через грубую силу, но Вы никогда не можете соответствовать произвольно длинному набору вложенных скобок.

Эта возможность часто упоминается как рассчитывающий (Вы считаете глубину вложения). regex по определению не имеет возможности рассчитать.

РЕДАКТИРОВАНИЕ: Законченная запись сообщения в блоге об этом: Ограничения Регулярного выражения

9
задан John Saunders 11 August 2009 в 21:46
поделиться

2 ответа

Из того, что я читал, вы можете включить атрибут XMLInclude в веб-метод, возвращающий объект, а не в базовый класс. Все еще не очень красиво, но может понравиться вам больше, чем просто включение имен производных классов в базовый класс. Я не пробовал, но думаю, что вы можете сделать что-то подобное.

[WebMethod]
[XmlInclude(typeof(LifeForm))]
public Human GetHuman()
{
   return new Human();
}
9
ответ дан 4 December 2019 в 21:50
поделиться

Возникла точно такая же проблема с VB.NET. Использование атрибута XMLInclude, хотя и некрасивое, помогло.

0
ответ дан 4 December 2019 в 21:50
поделиться
Другие вопросы по тегам:

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