英語フランス語スペイン語

Ad


OnWorksファビコン

genxs-クラウドでのオンライン

Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、またはMACOSオンラインエミュレーターを介してOnWorks無料ホスティングプロバイダーでgenxsを実行します

これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドgenxです。

プログラム:

NAME


genxs-MonoのXmlシリアライザージェネレーター

SYNOPSIS


ゲンクス 構成ファイル [宛先フォルダー]

DESCRIPTION


ゲンクス は、クラスのカスタムXMLシリアル化ライターおよびリーダーを生成するためのツールです。

構成ファイル は、次のようないくつかの情報を指定する構成ファイルです。
リーダーとライターを生成するクラス、クラスの名前と名前空間
生成するフックと適用するフックのコレクション。 フックを使用することにより、
生成されたファイルを変更することなく、シリアライザーの動作をカスタマイズします。
ソースクラスが変更された場合は、安全に再生成できます。

移動先フォルダ ファイルが生成されるフォルダーを指定します。

注意: このツールは、Monoランタイムでのみ実行されます。これは、一部の内部クラスを使用していないためです。
他のランタイムで利用できます。

CONFIGURATION FILE FORMAT


設定ファイルは、次の文法に基づくxmlドキュメントです(「?」は
オプション、「*」0以上):


*
名前?
名前?
名前?
名前?

*


*




構成ファイルには、複数の「シリアライザー」要素を含めることができます。各要素は、
いくつかの生成オプションとともにシリアライザーを生成するクラス。 NS
ソースクラスは、次の属性で指定されます。

* class :クラスの名前(名前空間を含む)。

* アセンブリ :アセンブリ名。 完全なパスを含めることができます。

生成オプションは子要素で指定されます。

* 読者 :リーダークラスの名前。

* リーダーなし :「true」の場合、リーダークラスは生成されません。

* 作家 :ライタークラスの名前。

* ベースシリアライザー :基本xmlシリアライザークラスの名前。 このアイテムは2.0のみです。

* 実装 :シリアライザー実装クラスの名前。 このアイテムは2.0のみです。

* ライターなし :「true」の場合、ライタークラスは生成されません。

* 名前空間 :リーダークラスとライタークラスの名前空間。

* 内部として生成 :「true」の場合、クラスを内部として生成します。

* 出力ファイル名 :生成されたファイルの名前。

* リーダーフック :リーダーに適用するフックのリスト。

* ライターフック :ライターに適用するフックのリスト。

指定する フック


フックを使用すると、リーダーとライターの動作をカスタマイズできます。 フック仕様
この文法に従います:



名前?
名前*
名前?

ソースコード?
ソースコード?
ソースコード?


「type」属性は、フックが適用されるコンテキストを指定します。 それはのXNUMXつである可能性があります
以下

* 属性 :属性がシリアル化/逆シリアル化される場合にフックが適用されます。

* 要素は :要素がシリアル化/逆シリアル化される場所にフックが適用されます。

* 不明な属性 :不明な属性が処理される場所にフックが適用されます。

* 未知の要素 :未知の要素が処理される場所にフックが適用されます。

* メンバー :フックは、メンバーがシリアル化/逆シリアル化される場合に適用されます。

* type :フックはタイプ全体に適用されます。

「select」要素は、フックを追加する必要のあるクラスとメンバーを指定します。
次の要素を含めることができます。

* タイプ名 :その名前のクラスが選択されます(名前空間を含める必要があります)

* タイプ属性 :その属性が適用されているすべてのクラスが選択されます
(名前空間を含む完全な属性クラス名を指定します)。 いくつかの属性名
指定できます。

* タイプメンバー :フックを追加する必要があるクラスメンバーの名前。

フックのソースコードは、次の要素のいずれかを使用して指定できます。

* replace :提供されたソースコードがすべてのシリアル化/逆シリアル化を置き換えます
フックコンテキストでの操作。

* 挿入前 :ソースコードはフックコンテキストの前に追加されます。

* 挿入後 :ソースコードはフックコンテキストの後に追加されます。

フックのコードを書くときは、定義されているいくつかの特別な変数を使用できます
コード生成プロセス中。 変数は次のとおりです。

* $ TYPE: 生成されるクラスの名前(名前空間なし)。

* $ FULLTYPE: 名前空間を含む、生成されるクラスのフルネーム。

* $ OBJECT: シリアル化または逆シリアル化されるオブジェクト。 交換用リーダーを使用する場合
タイプ「type」のフックの場合、フックコードは逆シリアル化されたオブジェクトをこれに割り当てる必要があります
変数に保存します.

* -I $ ELEMENT:シリアル化/逆シリアル化されるオブジェクトの要素の名前。

* $ NAMESPACE: シリアル化/逆シリアル化されるオブジェクトの要素の名前空間。

* $ MEMBER: シリアル化/逆シリアル化されるメンバーの名前。 「メンバー」でのみ有効
コンテキスト。

HOOK


次の例では、任意のデシリアライズ後に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(ライター);


このXNUMXつのフックを使用すると、シリアライザーはクラスをシリアル化するときにいくつかの情報を出力します
"私のクラス":



MyNamespace.MyClass

Console.WriteLine( "Serializing MyClass");
Console.WriteLine( "MyClassシリアル化");



MyNamespace.MyClass


Console.WriteLine( "シリアル化されたメンバー$ MEMBER");



このフックは、カスタム属性を持つすべてのタイプに追加の要素を書き込みます
「MyAttribute」:



MyNamespace.MyAttribute


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



CONFIGURATION FILE 実施例


これは、ServiceDescriptionのシリアライザーを生成するために使用される構成ファイルです。



ServiceDescriptionReaderBase
ServiceDescriptionWriterBase
System.Web.Services.Description
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(ライター、$ OBJECT);



System.Xml.Schema.XmlSchema

$ OBJECT.Write(ライター);





作者


Lluis Sanchez Gual([メール保護])

onworks.netサービスを使用してオンラインでgenxを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

  • 1
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player は無料のメディア プレーヤーです。
    ソフトウェア、WMP および VLC に基づく部分。 の
    プレーヤーはミニマリスト スタイルで、
    XNUMX を超えるテーマ カラー、および
    B ...
    AstrOrzPlayer をダウンロード
  • 2
    モビスタート
    モビスタート
    Kodi Movistar + TV es un ADDON para XBMC/
    Kodi que 許可ディスポンナー デ ウン
    IPTV のロス サービスの復号化機能
    モビスター インテグラド エン ウノ デ ロス
    メディアセンターマ...
    movistartv のダウンロード
  • 3
    Code :: Blocks
    Code :: Blocks
    Code::Blocks は無料のオープンソースです。
    クロスプラットフォームの C、C++、および Fortran IDE
    最も厳しいニーズを満たすように構築されています
    そのユーザーの。 それは非常に設計されています
    伸びる…
    コードをダウンロード::ブロック
  • 4
    中に
    中に
    中または高度な Minecraft インターフェイス
    データ/構造追跡は、
    Minecraft の概要を表示する
    実際に作成することなく、世界。 それ
    できる ...
    ダウンロード
  • 5
    MSYS2
    MSYS2
    MSYS2 はツールのコレクションであり、
    を提供するライブラリ
    使いやすい建築環境、
    ネイティブ Windows のインストールと実行
    ソフトウェア。 それは...
    MSYS2 をダウンロード
  • 6
    libjpeg-ターボ
    libjpeg-ターボ
    libjpeg-turbo は JPEG 画像コーデックです
    SIMD 命令 (MMX、SSE2、
    NEON、AltiVec) によるベースラインの加速
    JPEG の圧縮と解凍
    x86、x8...
    libjpeg-turbo のダウンロード
  • 詳細»

Linuxコマンド

  • 1
    アビトラッカー
    アビトラッカー
    abi-tracker - ABI の変更を視覚化する
    C/C++ ソフトウェア ライブラリのタイムライン。
    説明: 名前: ABI トラッカー
    (abi-tracker) ABI の変更を視覚化する
    C/C+ のタイムライン...
    abi-トラッカーを実行する
  • 2
    アビチェック
    アビチェック
    abicheck - アプリケーションのバイナリをチェックする
    プライベートまたは進化するシンボルの呼び出しの場合
    ライブラリ内および静的リンク用
    いくつかのシステムライブラリ。 ...
    abicheck を実行する
  • 3
    宅配便
    宅配便
    couriermlm - Courier メーリング リスト
    マネジャー ...
    Couriermlm を実行
  • 4
    クーリエtcpd
    クーリエtcpd
    couriertcpd - Courier メールサーバー
    TCP サーバー デーモン ...
    couriertcpd を実行する
  • 5
    gbklatex
    gbklatex
    bg5latex - Big5 で LaTeX を直接使用する
    エンコードされたtexファイル bg5pdflatex - 使用
    Big5 でエンコードされた tex に直接 pdfLaTeX
    file bg5+latex - LaTeX を直接使用
    Big5+...
    gbklatex を実行する
  • 6
    gbkpdfラテックス
    gbkpdfラテックス
    bg5latex - Big5 で LaTeX を直接使用する
    エンコードされたtexファイル bg5pdflatex - 使用
    Big5 でエンコードされた tex に直接 pdfLaTeX
    file bg5+latex - LaTeX を直接使用
    Big5+...
    gbkpdflatex を実行します
  • 詳細»

Ad