GoGPT Best VPN GoSearch

Ulubiona usługa OnWorks

genxs — online w chmurze

Uruchom genxs u dostawcy bezpłatnego hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to polecenie genxs, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu Mac OS

PROGRAM:

IMIĘ


genxs — Generator serializatora Xml firmy Mono

STRESZCZENIE


genxs plik konfiguracyjny [folder docelowy]

OPIS


genxs to narzędzie do generowania niestandardowych pisarzy i czytników serializacji XML dla klas.

plik konfiguracyjny to plik konfiguracyjny, który określa kilka informacji, takich jak
klasa, dla której ma zostać wygenerowany czytnik i pisarz, nazwa i przestrzeń nazw klas
do wygenerowania i zbiór haczyków do zastosowania. Za pomocą haków można:
dostosować zachowanie serializatora bez konieczności modyfikowania wygenerowanego pliku, więc
możesz go bezpiecznie zregenerować, jeśli klasa źródłowa zostanie zmodyfikowana.

folder docelowy określa folder, w którym zostaną wygenerowane pliki.

UWAGA: To narzędzie działa tylko w środowisku uruchomieniowym Mono, ponieważ używa niektórych klas wewnętrznych, nie
dostępne w innych środowiskach wykonawczych.

KONFIGURACJA FILE FORMAT


Plik konfiguracyjny jest dokumentem XML opartym na następującej gramatyce ("?" oznacza
opcjonalnie, "*" 0 lub więcej):


*
Nazwa ?
Nazwa ?
Nazwa ?
Nazwa ?
?
*

?
*




Plik konfiguracyjny może zawierać wiele elementów „serializatora”, z których każdy określa
klasa, dla której ma zostać wygenerowany serializator wraz z kilkoma opcjami generowania. ten
klasa źródłowa jest określona w następujących atrybutach:

* klasa : nazwa klasy (w tym przestrzeń nazw).

* montaż : nazwa zespołu. Może zawierać pełną ścieżkę.

Opcje generacji są określone w elementach potomnych:

* czytelnik : nazwa klasy czytnika.

* nieCzytnik : jeśli "prawda", nie generuje klasy czytnika.

* pisarz : nazwa klasy pisarza.

* BaseSerializer : nazwa podstawowej klasy serializatora XML. Ta pozycja jest dostępna tylko w wersji 2.0.

* realizacja : nazwa klasy implementacji serializatora. Ta pozycja jest dostępna tylko w wersji 2.0.

* nieWriter : jeśli „prawda”, nie generuje klasy pisarza.

* przestrzeń nazw : przestrzeń nazw klas czytelnika i pisarza.

* generuj jako wewnętrzne : jeśli "prawda", generuje klasy jako wewnętrzne.

* OutFileName : nazwa wygenerowanego pliku.

* czytelnikHaki : lista zaczepów do zastosowania do czytnika.

* pisarzHaki : lista haczyków do zastosowania do pisarza.

OKREŚLANIE HACZYKI


Za pomocą hooków możesz dostosować zachowanie czytelników i pisarzy. Specyfikacja haka
postępuje zgodnie z tą gramatyką:


?
Nazwa ?
Nazwa *
Nazwa ?

kod źródłowy ?
kod źródłowy ?
kod źródłowy ?


Atrybut „type” określa kontekst, w którym zastosowano podpięcie. Może to być jeden z
następujące brzmienie:

* atrybuty : hook jest stosowany tam, gdzie atrybuty są serializowane/deserializowane.

* Elementy : hook jest stosowany tam, gdzie elementy są serializowane/deserializowane.

* nieznana cecha : hook jest stosowany w przypadku przetwarzania nieznanych atrybutów.

* nieznanyElement : hook jest stosowany tam, gdzie przetwarzane są nieznane elementy.

* członek : hook jest stosowany, gdy element członkowski jest serializowany/deserializowany.

* rodzaj : haczyk jest stosowany do całego typu.

Element „select” określa klasy i członków, do których należy dodać podpięcie.
Może zawierać następujące elementy:

* Wpisz imię : klasa o tej nazwie zostanie wybrana (musi zawierać przestrzeń nazw)

* typAtrybut : wszystkie klasy, które mają zastosowany ten atrybut, zostaną wybrane
(określ pełną nazwę klasy atrybutu, w tym przestrzeń nazw). Kilka nazw atrybutów
można określić.

* typCzłonek : nazwa członka klasy, dla którego należy dodać podpięcie.

Kod źródłowy haka można określić za pomocą dowolnego z następujących elementów:

* obsługi produkcji rolnej, która zastąpiła : dostarczony kod źródłowy zastąpi całą serializację/deserializację
operacje w kontekście haka.

* wstaw przed : kod źródłowy zostanie dodany przed kontekstem zaczepienia.

* wstaw po : kod źródłowy zostanie dodany po kontekście podpięcia.

Podczas pisania kodu dla hooka możesz użyć pewnych specjalnych zmiennych, które są zdefiniowane
podczas procesu generowania kodu. Zmienne są następujące:

* TYP $: nazwa generowanej klasy, bez przestrzeni nazw.

* $PEŁNY TYP: pełna nazwa generowanej klasy, w tym przestrzeń nazw.

* OBIEKT $: obiekt jest serializowany lub deserializowany. W przypadku korzystania z zastępczego czytnika
hak typu "type", kod haka musi przypisać do tego zdeserializowany obiekt
zmienna.

* -I $ELEMENT: nazwa elementu serializowanego/deserializowanego obiektu.

* $PRZESTRZEŃ NAZW: przestrzeń nazw elementu serializowanego/deserializowanego obiektu.

* $CZŁONEK: nazwa członka, który jest serializowany/deserializowany. Ważne tylko w „członku”
kontekst.

HOOK PRZYKŁADY


Poniższy przykład dodaje wywołanie metody Validate po deserializacji any
obiekt:



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



Ten przykład określa kod, który ma być użyty do deserializacji klasy XmlSchema:



System.Xml.Schema.XmlSchema


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



Ten określa kod, który ma być używany do odczytywania instancji XmlSchema:



System.Xml.Schema.XmlSchema

$OBJECT.Write (pisarz);


Dzięki tym dwóm zaczepom serializator wydrukuje pewne informacje podczas serializacji klasy
"Moja klasa":



MojaPrzestrzeńNazw.MojaKlasa

Console.WriteLine ("Serializacja MyClass");
Console.WriteLine ("Serializowany MyClass");



MojaPrzestrzeńNazw.MojaKlasa


Console.WriteLine ("Serializowany członek $ MEMBER");



Ten haczyk zapisuje dodatkowy element dla wszystkich typów, które mają atrybut niestandardowy
„Mój Atrybut”:



MyNamespace.MyAttribute


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



KONFIGURACJA FILE PRZYKŁAD


To jest plik konfiguracyjny używany do generowania serializatora dla ServiceDescription:



UsługaOpisBaza czytników
UsługaOpisWriterBase
System.Web.Usługi.Opis
Opis usługiSerializerBase.cs



System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.ReadExtension (Czytnik, $OBJECT);



System.Xml.Schema.XmlSchema

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





System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.WriteExtensions (zapisujący, $OBJECT);



System.Xml.Schema.XmlSchema

$OBJECT.Write (pisarz);





AUTORSKI


Lluis Sanchez Gual ([email chroniony])

Korzystaj z genxs online za pomocą usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad




×
reklama
❤️Zrób zakupy, zarezerwuj lub kup tutaj — bezpłatnie, co pomaga utrzymać bezpłatne usługi.