ForEachEnumeratorHost.GetExpression Method

指定したプロパティの式を表す String を返します。Null は、式が割り当てられていないことを示します。

名前空間: Microsoft.SqlServer.Dts.Runtime
アセンブリ: Microsoft.SqlServer.ManagedDTS (microsoft.sqlserver.manageddts.dll 内)

構文

'宣言
Public Function GetExpression ( _
    propertyName As String _
) As String
public string GetExpression (
    string propertyName
)
public:
virtual String^ GetExpression (
    String^ propertyName
) sealed
public final String GetExpression (
    String propertyName
)
public final function GetExpression (
    propertyName : String
) : String

パラメータ

  • propertyName
    参照する式のプロパティの名前です。

戻り値

プロパティの評価に使用される式を表す String です。

使用例

次のコード例では、SMO 列挙子を ForEachEnumeratorHost にホストします。SetExpression メソッドを使用して DelayValidation プロパティを変更してから、GetExpression メソッドを使用して式を取得します。

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;

namespace Microsoft.SqlServer.SSIS.Sample
{
    internal class EnumType
    {
        public const string SMOEnum = "Foreach SMO Enumerator";
    }
    class SSISProgram
    {
        static void Main(string[] args)
        {
            Application app = new Application();
            Package pkg = new Package();
            ForEachEnumeratorInfos infos = app.ForEachEnumeratorInfos;
            ForEachEnumeratorInfo info = null;

            foreach (ForEachEnumeratorInfo enumInfo in infos)
            {
                // Uncomment the next line of you want to see all enumerators.
                //Console.Write("Available enumerators: {0}\n", enumInfo.Name);
                if (enumInfo.Name == EnumType.SMOEnum)
                {
                    // Set the ForEachEnumeratorInfo variable
                    // to the SMO enumerator, and use it 
                    // later in the CreateNew method.
                    info = enumInfo;
                }
            }
            ForEachEnumeratorHost enumH = info.CreateNew();
            Console.WriteLine();
            // Show the description before it is modified.
            Console.WriteLine("DelayValidation:  {0}", enumH.DelayValidation);

            // Modify the Description using SetExpression.
            //String myExpression = "\"My Description for SMO enumerator\"";
            String myExpression = "true";
            enumH.SetExpression("DelayValidation", myExpression);

            DTSExecResult result = pkg.Validate(null, null, null, null);

            // Review the new value and expression.
            String newExpr = enumH.GetExpression("DelayValidation");
            Console.WriteLine("New DelayValidation: {0}", enumH.DelayValidation);
            Console.WriteLine("Expression:      {0}", newExpr);
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime

Friend Class EnumType
    Public Const SMOEnum As String = "Foreach SMO Enumerator"
End Class 'EnumType

Class SSISProgram
    
    Shared Sub Main(ByVal args() As String) 
        Dim app As New Application()
        Dim pkg As New Package()
        Dim infos As ForEachEnumeratorInfos = app.ForEachEnumeratorInfos
        Dim info As ForEachEnumeratorInfo = Nothing
        
        Dim enumInfo As ForEachEnumeratorInfo
        For Each enumInfo In  infos
            ' Uncomment the next line of you want to see all enumerators.
            'Console.Write("Available enumerators: {0}\n", enumInfo.Name);
            If enumInfo.Name = EnumType.SMOEnum Then
                ' Set the ForEachEnumeratorInfo variable
                ' to the SMO enumerator, and use it 
                ' later in the CreateNew method.
                info = enumInfo
            End If
        Next enumInfo
        Dim enumH As ForEachEnumeratorHost = info.CreateNew()
        Console.WriteLine()
        ' Show the description before it is modified.
        Console.WriteLine("DelayValidation:  {0}", enumH.DelayValidation)
        
        ' Modify the Description using SetExpression.
        'String myExpression = "\"My Description for SMO enumerator\"";
        Dim myExpression As String = "true"
        enumH.SetExpression("DelayValidation", myExpression)
        
        Dim result As DTSExecResult = pkg.Validate(Nothing, Nothing, Nothing, Nothing)
        
        ' Review the new value and expression.
        Dim newExpr As String = enumH.GetExpression("DelayValidation")
        Console.WriteLine("New DelayValidation: {0}", enumH.DelayValidation)
        Console.WriteLine("Expression:      {0}", newExpr)
    
    End Sub 'Main
End Class 'SSISProgram

サンプルの出力 :

DelayValidation: False

New DelayValidation: False

Expression: true

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

ForEachEnumeratorHost Class
ForEachEnumeratorHost Members
Microsoft.SqlServer.Dts.Runtime Namespace