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 빠른 참조합니다.

적용 대상