TaskHost.InnerObject 속성

정의

TaskHost에서 호스팅되는 태스크 인스턴스에 액세스하는 데 사용되는 메서드를 가져옵니다.

public:
 property System::Object ^ InnerObject { System::Object ^ get(); };
[System.ComponentModel.Browsable(false)]
public object InnerObject { get; }
[<System.ComponentModel.Browsable(false)>]
member this.InnerObject : obj
Public ReadOnly Property InnerObject As Object

속성 값

TaskHost에 포함된 개체입니다.

구현

특성

예제

다음 코드 예제에서는 패키지에 FileSystemTask 추가 하 BulkInsertTask 고 작업 형식을 결정 하는 메서드를 사용 하 여 InnerObject 루프에서 TaskHost 작업을 검색 합니다.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask;  
using Microsoft.SqlServer.Dts.Tasks.FileSystemTask;  

namespace Microsoft.SqlServer.SSIS.Samples  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Package p = new Package();  
            // Add a File System task to the package.  
            Executable exec1 = p.Executables.Add("STOCK:FileSystemTask");  
            TaskHost thFileSystemTask1 = exec1 as TaskHost;  
            // Add a Bulk Insert task to the package.  
            Executable exec2 = p.Executables.Add("STOCK:BulkInsertTask");  
            TaskHost thFileSystemTask2 = exec2 as TaskHost;  

            // Iterate through the package Executables collection.  
            Executables pExecs = p.Executables;  
            foreach (Executable pExec in pExecs)  
            {  
                TaskHost taskHost = (TaskHost)pExec;  
                Console.WriteLine("Type {0}", taskHost.InnerObject.ToString());  

                if (taskHost.InnerObject is Microsoft.SqlServer.Dts.Tasks.FileSystemTask.FileSystemTask)  
                {  
                    // Do work here.  
                }  
                else if (taskHost.InnerObject is Microsoft.SqlServer.Dts.Tasks.BulkInsertTask.BulkInsertTask)  
                {  
                    // Do work here.  
                }  
                // Continue to add statements to check InnerObject, if desired.  
            }  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask  
Imports Microsoft.SqlServer.Dts.Tasks.FileSystemTask  

Namespace Microsoft.SqlServer.SSIS.Samples  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim p As Package =  New Package()   
            ' Add a File System task to the package.  
            Dim exec1 As Executable =  p.Executables.Add("STOCK:FileSystemTask")   
            Dim thFileSystemTask1 As TaskHost =  exec1 as TaskHost   
            ' Add a Bulk Insert task to the package.  
            Dim exec2 As Executable =  p.Executables.Add("STOCK:BulkInsertTask")   
            Dim thFileSystemTask2 As TaskHost =  exec2 as TaskHost   

            ' Iterate through the package Executables collection.  
            Dim pExecs As Executables =  p.Executables   
            Dim pExec As Executable  
            For Each pExec In pExecs  
                Dim taskHost As TaskHost = CType(pExec, TaskHost)  
                Console.WriteLine("Type {0}", taskHost.InnerObject.ToString())  

                If TypeOf taskHost.InnerObject Is Microsoft.SqlServer.Dts.Tasks.FileSystemTask.FileSystemTask Then  
                    ' Do work here.  
                Else If TypeOf taskHost.InnerObject Is Microsoft.SqlServer.Dts.Tasks.BulkInsertTask.BulkInsertTask Then   
                    ' Do work here.  
                End If  
                ' Continue to add statements to check InnerObject, if desired.  
            Next  
        End Sub  
    End Class  
End Namespace  

샘플 출력:

Type Microsoft.SqlServer.Dts.Tasks.FileSystemTask.FileSystemTask

Type Microsoft.SqlServer.Dts.Tasks.BulkInsertTask.BulkInsertTask

설명

작업 유형으로 캐스팅하여 특정 작업 인스턴스를 InnerObject 검색할 TaskHost 수 있습니다. 그런 다음 작업의 개체를 사용하여 해당 메서드 및 속성에 직접 액세스합니다.

적용 대상