ForEachEnumeratorHost.SetExpression Method

指定した式をプロパティに割り当てます。既存の式をプロパティから削除するには、null を指定します。

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

構文

'宣言
Public Sub SetExpression ( _
    propertyName As String, _
    expression As String _
)
public void SetExpression (
    string propertyName,
    string expression
)
public:
virtual void SetExpression (
    String^ propertyName, 
    String^ expression
) sealed
public final void SetExpression (
    String propertyName, 
    String expression
)
public final function SetExpression (
    propertyName : String, 
    expression : String
)

パラメータ

  • propertyName
    式を割り当てるプロパティの名前です。
  • expression
    式です。

使用例

次のコード例では、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