SchemaImporterExtension 类

定义

允许在使用自动查询工具时自定义从 Web 服务描述语言 (WSDL) 文档生成的代码。

public ref class SchemaImporterExtension abstract
public abstract class SchemaImporterExtension
type SchemaImporterExtension = class
Public MustInherit Class SchemaImporterExtension
继承
SchemaImporterExtension
派生

示例

请参阅 SchemaImporterExtension 技术示例。 请注意,此示例不包含已签名的程序集。 相反,它演示了如何使用 SchemaImporterExtension 命令窗口。

注解

每当通过工具(如Visual Studio中找到的“添加 Web 引用”对话框或使用 Web 服务说明语言工具 (Wsdl.exe) )生成 Web 服务代理时,会发生架构导入。 使用 XML 架构定义工具 (Xsd.exe) 从特定 XSD 文档生成代码时,也会发生架构导入。

SchemaImporterExtension 类允许修改使用任何这些工具时生成的代码。 例如,你可能具有一个在系统上处理预订订单的现有类,并且你有一个提供订单的现有 XSD 文档。 SchemaImporterExtension使用类,可以启用其中一个工具来生成使用类的代码。

若要控制代码的生成,必须使用命名空间中找到的 System.CodeDom 类。 有关详细信息,请参阅 使用 CodeDOMCodeDOM 快速参考

启用WSDL.exe工具 (,其他工具(如“添加 Web 引用”对话框) )使用扩展的步骤如下:

  1. 创建类的 SchemaImporterExtension 实现。

  2. ImportSchemaType使用该方法为代码生成器编写代码。 该方法包含用于检查截获的 XSD 类型的参数,并创建用于生成新 CLR 代码的 CodeDOM 对象。

  3. 如果需要,请使用 ImportAnyElement 该方法处理 <xsd:any> XSD 文档中发现的元素。

  4. 如果需要,请使用 ImportDefaultValue 此方法检查 XSD 文档中找到的默认值,并返回其他默认值。

  5. 将扩展编译为库。

  6. 对程序集进行签名。

  7. 在全局程序集缓存中安装程序集 (GAC) 。

  8. 修改machine.config文件以包含扩展名。

构造函数

SchemaImporterExtension()

初始化 SchemaImporterExtension 类的新实例。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
ImportAnyElement(XmlSchemaAny, Boolean, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider)

处理架构中的 <xsd:any> 元素的导入。

ImportDefaultValue(String, String)

允许为正在导入的 XSD 类型指定默认值。

ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider)

允许您检查导入的架构并指定该架构映射到的 CLR 类型,从而对生成的代码进行操作。

ImportSchemaType(XmlSchemaType, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider)

允许您检查导入的架构并指定该架构映射到的 CLR 类型,从而对生成的代码进行操作。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于