англійськафранцузькаіспанська

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 або більше):


*
ім'я ?
ім'я ?
ім'я ?
ім'я ?
?
*

?
*




Файл конфігурації може містити кілька елементів "серіализатора", кожен з яких визначає
клас, для якого генерується серіалізатор разом із кількома параметрами генерації. The
вихідний клас вказується в таких атрибутах:

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

* збірка : назва збірки. Він може включати повний шлях.

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

* читач : назва класу читача.

* noReader : якщо "true", він не створює клас читача.

* письменник : назва класу письменника.

* базовий серіалізатор : назва базового класу серіалізатора xml. Цей пункт лише 2.0.

* реалізація : назва класу реалізації серіалізатора. Цей пункт лише 2.0.

* noWriter : якщо "true", це не генерує клас записувача.

* простору імен : простір імен класів reader і writer.

* generateAsInternal : якщо "true", він генерує класи як внутрішні.

* outFileName : назва створеного файлу.

* readerHooks : список гачків, які можна застосувати до читача.

* письменник Хукс : список гачків, які потрібно застосувати до письменника.

УКАЗАННЯ ГУКИ


За допомогою гачків ви можете налаштувати поведінку читачів і письменників. Специфікація гачка
дотримується цієї граматики:


?
ім'я ?
ім'я *
ім'я ?

вихідний код ?
вихідний код ?
вихідний код ?


Атрибут "type" визначає контекст, у якому застосовується хук. Це може бути один з
наступні:

* Атрибути : хук застосовується там, де атрибути серіалізовані/десеріалізовані.

* елементи : хук застосовується там, де елементи серіалізовані/десеріалізовані.

* невідомий атрибут : хук застосовується там, де обробляються невідомі атрибути.

* unknownElement : хук застосовується там, де обробляються невідомі елементи.

* член : хук застосовується там, де член серіалізований/десеріалізований.

* тип : гачок застосовується для всього типу.

Елемент "select" вказує класи та члени, до яких потрібно додати хук.
Він може містити такі елементи:

* typeName : буде вибрано клас з такою назвою (повинен включати простір імен)

* typeAttribute : будуть вибрані всі класи, до яких застосовано цей атрибут
(вкажіть повну назву класу атрибутів, включаючи простір імен). Кілька назв атрибутів
можна вказати.

* typeMember : ім'я члена класу, для якого потрібно додати хук.

Вихідний код хука можна вказати за допомогою будь-якого з наступних елементів:

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

* вставитиПеред : вихідний код буде додано перед контекстом хука.

* вставитиПісля : вихідний код буде додано після контексту хука.

При написанні коду для хука можна використовувати деякі спеціальні змінні, які визначені
під час процесу генерації коду. Змінні такі:

* $TYPE: ім'я класу, що створюється, без простору імен.

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

* $ОБ'ЄКТ: об'єкт, який серіалізується або десеріалізується. При використанні замінного зчитувача
hook типу "type", код гачка повинен призначити цьому десеріалізований об'єкт
змінна.

* -I $ELEMENT: ім'я елемента об'єкта, який серіалізується/десеріалізується.

* $NAMESPACE: простір імен елемента об’єкта, що серіалізується/десеріалізується.

* $MEMBER: ім'я члена, який серіалізується/десеріалізується. Діє лише в "члені"
контексті.

ДАК ПРИКЛАДИ


Наступний приклад додає виклик методу Validate після десеріалізації будь-якого
об’єкт:



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



Цей приклад визначає код, який буде використовуватися для десеріалізації класу XmlSchema:



System.Xml.Schema.XmlSchema


$OBJECT = System.Xml.Schema.XmlSchema.Read (Reader, null);



Цей код визначає код, який буде використовуватися для читання екземплярів XmlSchema:



System.Xml.Schema.XmlSchema

$OBJECT.Write (Writer);


За допомогою цих двох гачків серіалізатор друкуватиме деяку інформацію під час серіалізації класу
"Мій клас":



MyNamespace.MyClass

Console.WriteLine ("Серіалізація MyClass");
Console.WriteLine ("MyClass serialized");



MyNamespace.MyClass


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



Цей хук записує додатковий елемент для всіх типів, які мають спеціальний атрибут
"Мій атрибут":



MyNamespace.MyAttribute


Writer.WriteStartElement ("privateData");
Writer.WriteString ($OBJECT.PrivateData);
Writer.WriteEndElement ();



КОНФІГУРАЦІЯ Фото приклад


Це файл конфігурації, який використовується для створення серіалізатора для ServiceDescription:



ServiceDescriptionReaderBase
ServiceDescriptionWriterBase
Опис системи.Web.Services
ServiceDescriptionSerializerBase.cs



System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.ReadExtension (Reader, $OBJECT);



System.Xml.Schema.XmlSchema

$OBJECT = System.Xml.Schema.XmlSchema.Read (Reader, null);





System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.WriteExtensions (Writer, $OBJECT);



System.Xml.Schema.XmlSchema

$OBJECT.Write (Writer);





AUTHORS


Луїс Санчес Гуаль ([захищено електронною поштою])

Використовуйте genxs онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player — безкоштовний медіаплеєр
    програмне забезпечення, частина на основі WMP і VLC. The
    плеєр в мінімалістичному стилі, с
    більше десяти кольорів теми, а також можна
    б ...
    Завантажити AstrOrzPlayer
  • 2
    movistartv
    movistartv
    Kodi Movistar+ TV є ДОДАТКОМ для XBMC/
    Kodi que permite disponer de un
    decodificador de los servicios IPTV de
    Movistar інтегрований в один із одним
    медіацентри ма...
    Завантажити movistartv
  • 3
    Код :: Блоки
    Код :: Блоки
    Code::Blocks — безкоштовна програма з відкритим кодом,
    кросплатформенний C, C++ і Fortran IDE
    створений для задоволення найвимогливіших потреб
    своїх користувачів. Він розроблений, щоб бути дуже
    подовжує ...
    Завантажити Code::Blocks
  • 4
    Серед
    Серед
    Серед або розширений інтерфейс Minecraft
    а відстеження даних/структури є інструментом для
    відобразити огляд Minecraft
    світу, фактично не створюючи його. Це
    може ...
    Завантажити Midst
  • 5
    MSYS2
    MSYS2
    MSYS2 — це набір інструментів і
    бібліотеки, які надають вам
    просте у використанні середовище для будівництва,
    встановлення та запуск рідної Windows
    програмне забезпечення. Це кон...
    Завантажити MSYS2
  • 6
    libjpeg-турбо
    libjpeg-турбо
    libjpeg-turbo — це кодек зображень JPEG
    який використовує SIMD-інструкції (MMX, SSE2,
    NEON, AltiVec) для прискорення базового рівня
    Стиснення та декомпресія JPEG увімкнено
    х86, х8...
    Завантажте libjpeg-turbo
  • Детальніше »

Команди Linux

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

Ad