다음을 통해 공유


IIdentifierCreationService.ValidateIdentifier(Activity, String) 메서드

정의

식별자가 Activity 내에서 고유한지 테스트하기 위한 메커니즘을 제공합니다.

public:
 void ValidateIdentifier(System::Workflow::ComponentModel::Activity ^ activity, System::String ^ identifier);
public void ValidateIdentifier (System.Workflow.ComponentModel.Activity activity, string identifier);
abstract member ValidateIdentifier : System.Workflow.ComponentModel.Activity * string -> unit
Public Sub ValidateIdentifier (activity As Activity, identifier As String)

매개 변수

activity
Activity

식별자를 테스트할 Activity입니다.

identifier
String

유효성을 테스트할 식별자입니다.

예제

다음 예제에서는 IIdentifierCreationService의 구현을 보여 줍니다. 이 서비스는 현재 워크플로 내에서 사용된 각 식별자가 고유하도록 해줍니다.

void IIdentifierCreationService.ValidateIdentifier(Activity activity, string identifier)
{
    if (identifier == null)
        throw new ArgumentNullException("identifier");
    if (activity == null)
        throw new ArgumentNullException("activity");

    if (activity.Name.ToLower().Equals(identifier.ToLower()))
        return;

    ArrayList identifiers = new ArrayList();
    Activity rootActivity = GetRootActivity(activity);
    identifiers.AddRange(GetIdentifiersInCompositeActivity(rootActivity as CompositeActivity));
    identifiers.Sort();
    if (identifiers.BinarySearch(identifier.ToLower(), StringComparer.OrdinalIgnoreCase) >= 0)
        throw new ArgumentException(string.Format("Duplicate Component Identifier {0}", identifier));
}
Sub ValidateIdentifier(ByVal activity As Activity, ByVal identifier As String) Implements IIdentifierCreationService.ValidateIdentifier
    If identifier Is Nothing Then
        Throw New ArgumentNullException("identifier")
    End If
    If activity Is Nothing Then
        Throw New ArgumentNullException("activity")
    End If
    If activity.Name.ToLower().Equals(identifier.ToLower()) Then
        Return
    End If
    Dim identifiers As New ArrayList()
    Dim rootActivity As Activity = GetRootActivity(activity)
    identifiers.AddRange(GetIdentifiersInCompositeActivity(CType(rootActivity, CompositeActivity)))
    identifiers.Sort()
    If identifiers.BinarySearch(identifier.ToLower(), StringComparer.OrdinalIgnoreCase) >= 0 Then
        Throw New ArgumentException(String.Format("Duplicate Component Identifier 0}", identifier))
    End If
End Sub

설명

ValidateIdentifier를 사용하여 식별자가 고유하고 지정된 Activity 내에서 사용하도록 형식이 올바르게 지정되었는지 확인합니다.

적용 대상