Share via


SchemaImporterExtension.ImportSchemaType メソッド

定義

インポートされたスキーマをチェックし、そのスキーマが割り当てられる CLR 型を指定することによって、生成されるコードを操作できます。

オーバーロード

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

インポートされたスキーマをチェックし、そのスキーマが割り当てられる CLR 型を指定することによって、生成されるコードを操作できます。

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

インポートされたスキーマをチェックし、そのスキーマが割り当てられる CLR 型を指定することによって、生成されるコードを操作できます。

次の例は、 メソッドの簡単な実装を ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) 示しています。 このコードでは、名前空間と名前を確認します。 適切な値が見つかると、生成されたコードで参照する必要があるカスタム アセンブリ ("Order.dll") の名前が追加されます。 次に、コードで生成される新しい名前空間 ("Microsoft.Samples") を追加します。

public override string ImportSchemaType(string name, string ns,
    XmlSchemaObject context, XmlSchemas schemas,
    XmlSchemaImporter importer,
    CodeCompileUnit compileUnit, CodeNamespace codeNamespace,
    CodeGenerationOptions options, CodeDomProvider codeGenerator)
    {
        if (name.Equals("Order") && ns.Equals("http://orders/"))
        {
            compileUnit.ReferencedAssemblies.Add("Order.dll");
            codeNamespace.Imports.Add
               (new CodeNamespaceImport("Microsoft.Samples"));
             return "Order";
        }
        return null;
    }
Public Overrides Function ImportschemaType(ByVal name As String, ByVal ns As String, ByVal context As XmlSchemaObject, ByVal schemas As XmlSchemas, ByVal importer As XmlSchemaImporter, ByVal compileUnit As CodeCompileUnit, ByVal codeNamespace As CodeNamespace, ByVal options As CodeGenerationOptions, ByVal codeGenerator As CodeDomProvider) As String 
    If name.Equals("Order") AndAlso ns.Equals("http://orders/") Then
        compileUnit.ReferencedAssemblies.Add("Order.dll")
        codeNamespace.Imports.Add(New CodeNamespaceImport("Microsoft.Samples"))           
        Return "Order"
    End If 
    
    Return Nothing

End Function 'ImportschemaType

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

インポートされたスキーマをチェックし、そのスキーマが割り当てられる CLR 型を指定することによって、生成されるコードを操作できます。

public:
 virtual System::String ^ ImportSchemaType(System::Xml::Schema::XmlSchemaType ^ type, System::Xml::Schema::XmlSchemaObject ^ context, System::Xml::Serialization::XmlSchemas ^ schemas, System::Xml::Serialization::XmlSchemaImporter ^ importer, System::CodeDom::CodeCompileUnit ^ compileUnit, System::CodeDom::CodeNamespace ^ mainNamespace, System::Xml::Serialization::CodeGenerationOptions options, System::CodeDom::Compiler::CodeDomProvider ^ codeProvider);
public virtual string ImportSchemaType (System.Xml.Schema.XmlSchemaType type, System.Xml.Schema.XmlSchemaObject context, System.Xml.Serialization.XmlSchemas schemas, System.Xml.Serialization.XmlSchemaImporter importer, System.CodeDom.CodeCompileUnit compileUnit, System.CodeDom.CodeNamespace mainNamespace, System.Xml.Serialization.CodeGenerationOptions options, System.CodeDom.Compiler.CodeDomProvider codeProvider);
abstract member ImportSchemaType : System.Xml.Schema.XmlSchemaType * System.Xml.Schema.XmlSchemaObject * System.Xml.Serialization.XmlSchemas * System.Xml.Serialization.XmlSchemaImporter * System.CodeDom.CodeCompileUnit * System.CodeDom.CodeNamespace * System.Xml.Serialization.CodeGenerationOptions * System.CodeDom.Compiler.CodeDomProvider -> string
override this.ImportSchemaType : System.Xml.Schema.XmlSchemaType * System.Xml.Schema.XmlSchemaObject * System.Xml.Serialization.XmlSchemas * System.Xml.Serialization.XmlSchemaImporter * System.CodeDom.CodeCompileUnit * System.CodeDom.CodeNamespace * System.Xml.Serialization.CodeGenerationOptions * System.CodeDom.Compiler.CodeDomProvider -> string
Public Overridable Function ImportSchemaType (type As XmlSchemaType, context As XmlSchemaObject, schemas As XmlSchemas, importer As XmlSchemaImporter, compileUnit As CodeCompileUnit, mainNamespace As CodeNamespace, options As CodeGenerationOptions, codeProvider As CodeDomProvider) As String

パラメーター

type
XmlSchemaType

XSD 型です。

context
XmlSchemaObject

XML 要素の行番号などのスキーマ情報です。

schemas
XmlSchemas

ドキュメント内のスキーマのコレクションです。

importer
XmlSchemaImporter

使用されているインポーターです。

compileUnit
CodeCompileUnit

XSD の代替コードを生成するための CodeDOM 構造体の追加先である CodeCompileUnit

mainNamespace
CodeNamespace

要素用の現在の名前空間です。

options
CodeGenerationOptions

コード コンパイラ上で設定オプションを指定する列挙値のビットごとの組み合わせです。

codeProvider
CodeDomProvider

新しいコードの生成に使用される CodeDomProvider

戻り値

これが割り当てられる CLR 型の名前。

次の例は、 メソッドの簡単な実装を ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) 示しています。 このコードでは、名前空間と名前を確認します。 適切な値が見つかると、生成されたコードで参照する必要があるカスタム アセンブリ ("Order.dll") の名前が追加されます。 次に、コードで生成される新しい名前空間 ("Microsoft.Samples") を追加します。

public override string ImportSchemaType(string name, string ns,
    XmlSchemaObject context, XmlSchemas schemas,
    XmlSchemaImporter importer,
    CodeCompileUnit compileUnit, CodeNamespace codeNamespace,
    CodeGenerationOptions options, CodeDomProvider codeGenerator)
    {
        if (name.Equals("Order") && ns.Equals("http://orders/"))
        {
            compileUnit.ReferencedAssemblies.Add("Order.dll");
            codeNamespace.Imports.Add
               (new CodeNamespaceImport("Microsoft.Samples"));
             return "Order";
        }
        return null;
    }
Public Overrides Function ImportschemaType(ByVal name As String, ByVal ns As String, ByVal context As XmlSchemaObject, ByVal schemas As XmlSchemas, ByVal importer As XmlSchemaImporter, ByVal compileUnit As CodeCompileUnit, ByVal codeNamespace As CodeNamespace, ByVal options As CodeGenerationOptions, ByVal codeGenerator As CodeDomProvider) As String 
    If name.Equals("Order") AndAlso ns.Equals("http://orders/") Then
        compileUnit.ReferencedAssemblies.Add("Order.dll")
        codeNamespace.Imports.Add(New CodeNamespaceImport("Microsoft.Samples"))           
        Return "Order"
    End If 
    
    Return Nothing

End Function 'ImportschemaType

適用対象

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

インポートされたスキーマをチェックし、そのスキーマが割り当てられる CLR 型を指定することによって、生成されるコードを操作できます。

public:
 virtual System::String ^ ImportSchemaType(System::String ^ name, System::String ^ ns, System::Xml::Schema::XmlSchemaObject ^ context, System::Xml::Serialization::XmlSchemas ^ schemas, System::Xml::Serialization::XmlSchemaImporter ^ importer, System::CodeDom::CodeCompileUnit ^ compileUnit, System::CodeDom::CodeNamespace ^ mainNamespace, System::Xml::Serialization::CodeGenerationOptions options, System::CodeDom::Compiler::CodeDomProvider ^ codeProvider);
public virtual string ImportSchemaType (string name, string ns, System.Xml.Schema.XmlSchemaObject context, System.Xml.Serialization.XmlSchemas schemas, System.Xml.Serialization.XmlSchemaImporter importer, System.CodeDom.CodeCompileUnit compileUnit, System.CodeDom.CodeNamespace mainNamespace, System.Xml.Serialization.CodeGenerationOptions options, System.CodeDom.Compiler.CodeDomProvider codeProvider);
abstract member ImportSchemaType : string * string * System.Xml.Schema.XmlSchemaObject * System.Xml.Serialization.XmlSchemas * System.Xml.Serialization.XmlSchemaImporter * System.CodeDom.CodeCompileUnit * System.CodeDom.CodeNamespace * System.Xml.Serialization.CodeGenerationOptions * System.CodeDom.Compiler.CodeDomProvider -> string
override this.ImportSchemaType : string * string * System.Xml.Schema.XmlSchemaObject * System.Xml.Serialization.XmlSchemas * System.Xml.Serialization.XmlSchemaImporter * System.CodeDom.CodeCompileUnit * System.CodeDom.CodeNamespace * System.Xml.Serialization.CodeGenerationOptions * System.CodeDom.Compiler.CodeDomProvider -> string
Public Overridable Function ImportSchemaType (name As String, ns As String, context As XmlSchemaObject, schemas As XmlSchemas, importer As XmlSchemaImporter, compileUnit As CodeCompileUnit, mainNamespace As CodeNamespace, options As CodeGenerationOptions, codeProvider As CodeDomProvider) As String

パラメーター

name
String

要素の名前です。

ns
String

要素の名前空間。

context
XmlSchemaObject

XML 要素の行番号などのスキーマ情報です。

schemas
XmlSchemas

ドキュメント内のスキーマのコレクションです。

importer
XmlSchemaImporter

使用されているインポーターです。

compileUnit
CodeCompileUnit

XSD の代替コードを生成するための CodeDOM 構造体の追加先である CodeCompileUnit

mainNamespace
CodeNamespace

要素用の現在の名前空間です。

options
CodeGenerationOptions

コード コンパイラ上で設定オプションを指定する列挙値のビットごとの組み合わせです。

codeProvider
CodeDomProvider

新しいコードの生成に使用される CodeDomProvider

戻り値

これが割り当てられる CLR 型の名前。

次の例は、 メソッドの簡単な実装を ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) 示しています。 このコードでは、名前空間と名前を確認します。 適切な値が見つかると、生成されたコードで参照する必要があるカスタム アセンブリ ("Order.dll") の名前が追加されます。 次に、コードで生成される新しい名前空間 ("Microsoft.Samples") を追加します。

public override string ImportSchemaType(string name, string ns,
    XmlSchemaObject context, XmlSchemas schemas,
    XmlSchemaImporter importer,
    CodeCompileUnit compileUnit, CodeNamespace codeNamespace,
    CodeGenerationOptions options, CodeDomProvider codeGenerator)
    {
        if (name.Equals("Order") && ns.Equals("http://orders/"))
        {
            compileUnit.ReferencedAssemblies.Add("Order.dll");
            codeNamespace.Imports.Add
               (new CodeNamespaceImport("Microsoft.Samples"));
             return "Order";
        }
        return null;
    }
Public Overrides Function ImportschemaType(ByVal name As String, ByVal ns As String, ByVal context As XmlSchemaObject, ByVal schemas As XmlSchemas, ByVal importer As XmlSchemaImporter, ByVal compileUnit As CodeCompileUnit, ByVal codeNamespace As CodeNamespace, ByVal options As CodeGenerationOptions, ByVal codeGenerator As CodeDomProvider) As String 
    If name.Equals("Order") AndAlso ns.Equals("http://orders/") Then
        compileUnit.ReferencedAssemblies.Add("Order.dll")
        codeNamespace.Imports.Add(New CodeNamespaceImport("Microsoft.Samples"))           
        Return "Order"
    End If 
    
    Return Nothing

End Function 'ImportschemaType

注釈

コードの生成を制御するには、 名前空間にあるクラスを使用する System.CodeDom 必要があります。 詳細については、「 CodeDOM と CodeDOM クイック リファレンスの使用を参照してください

適用対象