英语法语西班牙语

Ad


OnWorks 网站图标

genxs - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 genxs

这是 genxs 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


genxs - Mono 的 Xml 序列化器生成器

概要


基因 配置文件 [目标文件夹]

商品描述


基因 是为类生成自定义 XML 序列化编写器和读取器的工具。

配置文件 是配置文件,它指定了几个信息,例如
生成读取器和写入器的类、类的名称和命名空间
生成,以及一组要应用的钩子。 通过使用钩子,可以
自定义序列化程序的行为而无需修改生成的文件,因此
如果源类被修改,您可以安全地重新生成它。

目的地文件夹 指定将生成文件的文件夹。

注意: 这个工具只在 Mono 运行时运行,因为它使用了一些内部类,而不是
在其他运行时可用。

配置 文件 FORMAT


配置文件是一个基于以下语法的xml文件(“?”表示
可选,"*" 0 或更多):


*
姓名?
姓名?
姓名?
姓名?
?
*

?
*




一个配置文件可以有多个“序列化器”元素,每个元素指定
为其生成序列化程序以及多个生成选项的类。 这
源类在以下属性中指定:

* : 类的名称(包括命名空间)。

* 部件 : 程序集名称。 它可以包含完整路径。

生成选项在子元素中指定:

* 读者 : 阅读器类的名称。

* 没有读者 : 如果为“true”,则不会生成阅读器类。

* 作家 : 编写器类的名称。

* 基本序列化程序 : 基本 xml 序列化程序类的名称。 此项目仅为 2.0。

* 履行 : 序列化器实现类的名称。 此项目仅为 2.0。

* 没有作家 : 如果为“true”,则不会生成 writer 类。

* 命名空间 : 读写器类的命名空间。

* 生成为内部 :如果为“true”,则生成内部类。

* 输出文件名 : 生成文件的名称。

* 读者钩子 : 应用于读者的钩子列表。

* 作家胡克斯 : 应用于作者的钩子列表。

指定 挂钩


使用钩子可以自定义读者和作者的行为。 吊钩规格
遵循这个语法:


?
姓名?
姓名*
姓名?

源代码?
源代码?
源代码?


“type”属性指定应用钩子的上下文。 它可以是其中之一
执行以下操作:

* 属性 : 在属性被序列化/反序列化的地方应用钩子。

* 分子 : 在元素被序列化/反序列化的地方应用钩子。

* 未知属性 : 在处理未知属性的地方应用钩子。

* 未知元素 : 在处理未知元素的地方应用钩子。

* 会员 :在成员被序列化/反序列化的地方应用钩子。

* 类型 :钩子适用于整个类型。

“select”元素指定必须添加钩子的类和成员。
它可以包含以下元素:

* 类型名称 :将选择具有该名称的类(必须包含命名空间)

* 类型属性 :将选择应用了该属性的所有类
(指定完整的属性类名,包括命名空间)。 几个属性名
可以指定。

* 类型成员 : 必须为其添加钩子的类成员的名称。

可以使用以下任何元素指定钩子源代码:

* 更换 :提供的源代码将替换所有序列化/反序列化
钩子上下文中的操作。

* 插入前 : 源代码将添加到钩子上下文之前。

* 插入后 :将在钩子上下文之后添加源代码。

在为钩子编写代码时,您可以使用一些定义的特殊变量
在代码生成过程中。 变量如下:

* $类型: 正在生成的类的名称,没有命名空间。

* $完整类型: 正在生成的类的全名,包括命名空间。

* $对象: 被序列化或反序列化的对象。 使用替换读卡器时
类型为“type”的钩子,钩子代码必须将反序列化的对象分配给这个
变量。

* -I $ELEMENT:被序列化/反序列化的对象元素的名称。

* $命名空间: 被序列化/反序列化的对象元素的命名空间。

* $会员: 被序列化/反序列化的成员的名称。 仅在“会员”有效
上下文。

HOOK 示例


以下示例在任何反序列化之后添加对 Validate 方法的调用
宾语:



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



此示例指定用于反序列化 XmlSchema 类的代码:



系统.Xml.Schema.XmlSchema


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



那个指定了用于读取 XmlSchema 实例的代码:



系统.Xml.Schema.XmlSchema

$OBJECT.Write (Writer);


使用这两个钩子,序列化器将在序列化类时打印一些信息
“我的课”:



我的命名空间.MyClass

Console.WriteLine ("序列化 MyClass");
Console.WriteLine("MyClass 序列化");



我的命名空间.MyClass


Console.WriteLine ("序列化成员 $MEMBER");



这个钩子为所有具有自定义属性的类型写了一个额外的元素
“我的属性”:



我的命名空间.我的属性


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



配置 文件


这是用于为 ServiceDescription 生成序列化程序的配置文件:



ServiceDescriptionReaderBase
ServiceDescriptionWriterBase
系统.Web.服务.描述
ServiceDescriptionSerializerBase.cs



System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.ReadExtension (Reader, $OBJECT);



系统.Xml.Schema.XmlSchema

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





System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.WriteExtensions (Writer, $OBJECT);



系统.Xml.Schema.XmlSchema

$OBJECT.Write (Writer);





作者


路易斯·桑切斯·瓜尔 (Lluis Sanchez Gual)[电子邮件保护])

使用 onworks.net 服务在线使用 genxs


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    AstrOrz播放器
    AstrOrz播放器
    AstrOrz Player 是一款免费的媒体播放器
    软件,部分基于 WMP 和 VLC。 这
    播放器采用极简风格,带有
    十多个主题色,还可以
    B ...
    下载 AstrOrzPlayer
  • 2
    电影启动器
    电影启动器
    Kodi Movistar+ TV 是 XBMC/ 的 ADDON
    Kodi 许可分配器
    IPTV服务解码器
    Movistar Integrado en uno de los
    媒体中心马...
    下载 movistartv
  • 3
    代码::块
    代码::块
    Code::Blocks 是一个免费的、开源的、
    跨平台 C、C++ 和 Fortran IDE
    专为满足最苛刻的需求而打造
    它的用户。 它的设计非常
    扩展...
    下载代码::Blocks
  • 4
    之中
    之中
    中间或高级 Minecraft 界面
    和数据/结构跟踪是一种工具
    显示 Minecraft 的概览
    世界,而无需实际创造它。 它
    能够 ...
    下载烟雨
  • 5
    系统2
    系统2
    MSYS2 是一组工具和
    图书馆为您提供
    易于使用的建筑环境,
    安装和运行本机 Windows
    软件。 它连...
    下载 MSYS2
  • 6
    libjpeg-turbo
    libjpeg-turbo
    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-tracker
  • 2
    比查
    比查
    abicheck - 检查应用程序二进制文件
    用于调用私有或不断演变的符号
    在库中和静态链接
    一些系统库。 ...
    运行abicheck
  • 3
    快递公司
    快递公司
    couriermlm - Courier 邮件列表
    经理 ...
    运行快递
  • 4
    快递员
    快递员
    couriertcpd - Courier 邮件服务器
    TCP 服务器守护进程...
    运行 couriercpd
  • 5
    gbk乳胶
    gbk乳胶
    bg5latex - 直接在 Big5 上使用 LaTeX
    encodedtex 文件 bg5pdflatex - 使用
    pdfLaTeX 直接在 Big5 encodedtex 上
    文件 bg5+latex - 直接在 a 上使用 LaTeX
    大5+...
    运行 gbklatex
  • 6
    gbkpdf乳胶
    gbkpdf乳胶
    bg5latex - 直接在 Big5 上使用 LaTeX
    encodedtex 文件 bg5pdflatex - 使用
    pdfLaTeX 直接在 Big5 encodedtex 上
    文件 bg5+latex - 直接在 a 上使用 LaTeX
    大5+...
    运行 gbkpdflatex
  • 更多 ”

Ad