次の方法で共有


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 を使用します。

適用対象