共用方式為


ForEachEnumeratorHost.GetExpression Method

Returns a String that contains the expression for the specified property. Null means no expression is assigned.

命名空間: Microsoft.SqlServer.Dts.Runtime
組件: Microsoft.SqlServer.ManagedDTS (in 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
    The name of the property whose expression you want to see.

傳回值

A String that contains the expression used to evaluate the property.

範例

The following code example hosts a SMO enumerator in the ForEachEnumeratorHost. Using the SetExpression method, the DelayValidation property is modified, then the expression is retrieved using the GetExpression method.

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

Sample Output:

DelayValidation: False

New DelayValidation: False

Expression: true

執行緒安全性

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

平台

開發平台

如需受支援的平台清單,請參閱<安裝 SQL Server 2005 的硬體和軟體需求>。

目標平台

如需受支援的平台清單,請參閱<安裝 SQL Server 2005 的硬體和軟體需求>。

請參閱

參考

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