IIdentifierCreationService.ValidateIdentifier(Activity, String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供一个用于测试标识符在 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)
参数
- 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 中使用的标识符是唯一的且格式正确。