АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

genxs - Интернет в облаке

Запускайте genxs в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команды genxs, которые можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


genxs - Генератор Xml-сериализатора Mono

СИНТАКСИС


Genxs конфигурационный файл [destinationFolder]

ОПИСАНИЕ


Genxs - это инструмент для создания настраиваемых средств записи и чтения XML-сериализации для классов.

конфигурационный файл это файл конфигурации, в котором указывается некоторая информация, например,
класс, для которого создаются читатель и писатель, имя и пространство имен классов
для создания и набор хуков для применения. С помощью крючков можно
настроить поведение сериализатора без необходимости изменять сгенерированный файл, поэтому
вы можете безопасно восстановить его, если исходный класс был изменен.

папка назначения указывает папку, в которой будут созданы файлы.

ПРИМЕЧАНИЕ: Этот инструмент работает только в среде выполнения Mono, поскольку он использует некоторые внутренние классы, а не
доступно в других средах выполнения.

КОНФИГУРАЦИЯ ФАЙЛОВ ФОРМАТ


Файл конфигурации представляет собой XML-документ, основанный на следующей грамматике («?» Означает
необязательно, "*" 0 или больше):


*
имя ?
имя ?
имя ?
имя ?
?
*

?
*




Файл конфигурации может иметь несколько элементов "сериализатора", каждый из которых определяет
класс, для которого создается сериализатор вместе с несколькими вариантами генерации. В
исходный класс указывается в следующих атрибутах:

* класс : имя класса (включая пространство имен).

* сборка : имя сборки. Он может включать полный путь.

Параметры генерации указываются в дочерних элементах:

* читатель : имя класса читателя.

* нетЧтение : если "истина", класс считывателя не создается.

* писатель : имя класса писателей.

* базовый сериализатор : имя базового класса сериализатора xml. Это только 2.0.

* реализация : имя класса реализации сериализатора. Это только 2.0.

* noWriter : если "истина", класс писателя не создается.

* Пространство имен : пространство имен классов чтения и записи.

* генерироватьAsInternal : если "истина", он создает классы как внутренние.

* outFileName : имя сгенерированного файла.

* читателькрючки : список ловушек для читателя.

* писатель : список ловушек, которые нужно применить к писателю.

УКАЗАНИЕ КРЮКИ


Используя хуки, вы можете настроить поведение читателей и писателей. Спецификация крючка
следует этой грамматике:


?
имя ?
имя *
имя ?

исходный код ?
исходный код ?
исходный код ?


Атрибут «type» определяет контекст, в котором применяется ловушка. Это может быть один из
следующие:

* Атрибуты : hook применяется там, где атрибуты сериализованы / десериализованы.

* элементы : hook применяется там, где элементы сериализованы / десериализованы.

* Неизвестный атрибут : hook применяется там, где обрабатываются неизвестные атрибуты.

* неизвестный элемент : hook применяется там, где обрабатываются неизвестные элементы.

* член : hook применяется, когда член сериализуется / десериализуется.

* напишите : крючок применяется ко всему типу.

Элемент «select» определяет классы и члены, к которым нужно добавить ловушку.
Он может содержать следующие элементы:

* имятипа : будет выбран класс с таким именем (должен включать пространство имен)

* типАтрибут : будут выбраны все классы, к которым применен этот атрибут
(укажите полное имя класса атрибута, включая пространство имен). Несколько имен атрибутов
можно указать.

* типчлен : имя члена класса, для которого нужно добавить ловушку.

Исходный код ловушки можно указать с помощью любого из следующих элементов:

* замещать : предоставленный исходный код заменит всю сериализацию / десериализацию
операции в контексте ловушки.

* InsertBefore : исходный код будет добавлен перед контекстом ловушки.

* вставить после : исходный код будет добавлен после контекста ловушки.

При написании кода для ловушки вы можете использовать некоторые специальные переменные, которые определены
в процессе генерации кода. Переменные следующие:

* $ ТИП: имя создаваемого класса без пространства имен.

* $ FULLTYPE: полное имя создаваемого класса, включая пространство имен.

* $ ОБЪЕКТ: сериализуемый или десериализуемый объект. При использовании заменяющего ридера
ловушка типа "type", код ловушки должен назначить десериализованный объект этому
Переменная.

* -I $ ELEMENT: имя элемента сериализуемого / десериализуемого объекта.

* $ NAMESPACE: пространство имен элемента сериализуемого / десериализуемого объекта.

* ЧЛЕН $: имя сериализуемого / десериализуемого члена. Действует только в "члене"
контекст.

ЗАКОРЮЧКИ ПРИМЕРЫ


В следующем примере добавляется вызов метода Validate после десериализации любого
объект:



System.Xml.Schema.XmlSchema.Validate $ TYPE ($ OBJECT);



В этом примере указывается код, который будет использоваться для десериализации класса XmlSchema:



System.Xml.Schema.XmlSchema


$ OBJECT = System.Xml.Schema.XmlSchema.Read (Читатель, ноль);



В нем указывается код, который будет использоваться для чтения экземпляров XmlSchema:



System.Xml.Schema.XmlSchema

$ OBJECT.Write (писатель);


С помощью этих двух перехватчиков сериализатор напечатает некоторую информацию при сериализации класса.
"Мои занятия":



MyNamespace.MyClass

Console.WriteLine ("Сериализация MyClass");
Console.WriteLine ("MyClass сериализован");



MyNamespace.MyClass


Console.WriteLine ("Сериализованный член $ MEMBER");



Этот хук записывает дополнительный элемент для всех типов, у которых есть настраиваемый атрибут
"MyAttribute":



MyNamespace.MyAttribute


Writer.WriteStartElement ("частные данные");
Writer.WriteString ($ OBJECT.PrivateData);
Писатель.ЗаписатьКонечныйЭлемент ();



КОНФИГУРАЦИЯ ФАЙЛОВ ПРИМЕР


Это файл конфигурации, используемый для создания сериализатора для ServiceDescription:



ServiceDescriptionReaderBase
ServiceDescriptionWriterBase
System.Web.Services.Description
ServiceDescriptionSerializerBase.cs



System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.ReadExtension (Читатель, $ OBJECT);



System.Xml.Schema.XmlSchema

$ OBJECT = System.Xml.Schema.XmlSchema.Read (Читатель, ноль);





System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.WriteExtensions (Writer, $ OBJECT);



System.Xml.Schema.XmlSchema

$ OBJECT.Write (писатель);





АВТОРЫ


Луис Санчес Гуаль ([электронная почта защищена])

Используйте genxs онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    АстрОрзПлеер
    АстрОрзПлеер
    AstrOrz Player — бесплатный медиаплеер.
    программное обеспечение, частично основанное на WMP и VLC.
    плеер выполнен в минималистическом стиле, с
    более десяти цветов темы, а также может
    б ...
    Скачать AstrOrzPlayer
  • 2
    Movistartv
    Movistartv
    Kodi Movistar+ TV является дополнением для XBMC/
    Коди, разрешенный к использованию
    decodificador de los servicios IPTV де
    Movistar интегрирован в один город
    медиацентры ма...
    Скачать киностартв
  • 3
    Code :: Blocks
    Code :: Blocks
    Code::Blocks — это бесплатная программа с открытым исходным кодом,
    кроссплатформенная C, C++ и Fortran IDE
    построен для удовлетворения самых взыскательных потребностей
    своих пользователей. Он разработан, чтобы быть очень
    расширенный ...
    Код загрузки::Блоки
  • 4
    среди
    среди
    Среда или расширенный интерфейс Minecraft
    и отслеживание данных / структуры - это инструмент для
    отобразить обзор Minecraft
    мир, фактически не создавая его. Это
    жестяная банка ...
    Скачать Среди
  • 5
    МСИС2
    МСИС2
    MSYS2 - это набор инструментов и
    библиотеки, предоставляющие вам
    удобная среда для строительства,
    установка и запуск родной Windows
    программное обеспечение. Это кон ...
    Скачать MSYS2
  • 6
    libjpeg-турбо
    libjpeg-турбо
    libjpeg-turbo - это кодек изображений JPEG
    который использует инструкции SIMD (MMX, SSE2,
    NEON, AltiVec) для ускорения базового уровня
    Сжатие и распаковка JPEG на
    x86, x8 ...
    Скачать libjpeg-turbo
  • Больше »

Команды Linux

  • 1
    abi-трекер
    abi-трекер
    abi-tracker — визуализировать изменения ABI
    временная шкала библиотеки программного обеспечения C/C++.
    ОПИСАНИЕ: НАЗВАНИЕ: ABI Tracker
    (abi-tracker) Визуализация изменений ABI
    график C/C+...
    Запустить аби-трекер
  • 2
    Abicheck
    Abicheck
    abicheck — проверка бинарников приложения
    для вызовов частных или развивающихся символов
    в библиотеках и для статической компоновки
    некоторые системные библиотеки. ...
    Запустить абичек
  • 3
    курьермлм
    курьермлм
    couriermlm - Список рассылки курьера
    менеджер ...
    Запустить курьермлм
  • 4
    курьер
    курьер
    couriertcpd - почтовый сервер Courier
    Демон TCP-сервера...
    Запустите couriertcpd
  • 5
    гбклатекс
    гбклатекс
    bg5latex — использовать LaTeX непосредственно на Big5
    файл encodedtex bg5pdflatex - Использование
    pdfLaTeX непосредственно на закодированном тексте Big5
    file bg5+latex — использовать LaTeX непосредственно на
    Большой5+...
    Запустить gbklatex
  • 6
    gbkpdfлатекс
    gbkpdfлатекс
    bg5latex — использовать LaTeX непосредственно на Big5
    файл encodedtex bg5pdflatex - Использование
    pdfLaTeX непосредственно на закодированном тексте Big5
    file bg5+latex — использовать LaTeX непосредственно на
    Большой5+...
    Запустите gbkpdflatex
  • Больше »

Ad