Поделиться через


ForEachEnumeratorHost.SetExpression(String, String) Метод

Определение

Присваивает указанное выражение свойству. Укажите значение NULL, чтобы удалить существующее выражение из свойства.

public:
 virtual void SetExpression(System::String ^ propertyName, System::String ^ expression);
public void SetExpression (string propertyName, string expression);
abstract member SetExpression : string * string -> unit
override this.SetExpression : string * string -> unit
Public Sub SetExpression (propertyName As String, expression As String)

Параметры

propertyName
String

Имя свойства, которому назначается выражение.

expression
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

Выражение: true

Применяется к