ActivityValidator.Validate(ValidationManager, Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Verilen etkinliğin geçerli olduğunu doğrular.
public:
override System::Workflow::ComponentModel::Compiler::ValidationErrorCollection ^ Validate(System::Workflow::ComponentModel::Compiler::ValidationManager ^ manager, System::Object ^ obj);
public override System.Workflow.ComponentModel.Compiler.ValidationErrorCollection Validate (System.Workflow.ComponentModel.Compiler.ValidationManager manager, object obj);
override this.Validate : System.Workflow.ComponentModel.Compiler.ValidationManager * obj -> System.Workflow.ComponentModel.Compiler.ValidationErrorCollection
Public Overrides Function Validate (manager As ValidationManager, obj As Object) As ValidationErrorCollection
Parametreler
- manager
- ValidationManager
ValidationManager Doğrulama ile ilişkili.
Döndürülenler
ValidationErrorCollection Doğrulama sırasında oluşan hataları veya uyarıları içeren bir nesne.
Örnekler
Aşağıdaki örnekte, türünde Stringadlı Msg
tek bir ActivityValidator bağımlılık özelliğine sahip bir özel etkinlik için kullanılan yönteminin nasıl geçersiz kılındığı Validate gösterilmektedir. Özel doğrulayıcı özelliğin ayarlandığından Msg
emin olur. Ayarlanmadıysa, derleyici yöntemi üzerinde ActivityValidator çağrıldığında ve derleme başarısız olduğunda Validate bir hata görüntüler.
public override ValidationErrorCollection Validate(ValidationManager manager, object obj)
{
// Invoke the base class method implementation to
// perform default validation.
ValidationErrorCollection errors = base.Validate(manager, obj);
// Make sure there is an activity instance.
ConsoleWriteLineActivity crw = obj as ConsoleWriteLineActivity;
if (crw == null)
{
throw new InvalidOperationException();
}
// If the activity has no parent then this validation
// is occurring during the compilation of the activity
// and not during the hosting or creation of an
// activity instance.
if (crw.Parent == null)
{
// Can skip the rest of the validation because
// it deals with the hosting and the creation
// of the activity.
return errors;
}
// Msg is required. Add a validation error if there is no
// Msg specified or Msg is not bound to another property.
if (string.IsNullOrEmpty(crw.Msg) &&
crw.GetBinding(ConsoleWriteLineActivity.MsgProperty) == null)
{
errors.Add(new ValidationError("Msg is required", 100, false, "Msg"));
}
return errors;
}
Public Overrides Function Validate( _
ByVal manager As System.Workflow.ComponentModel.Compiler.ValidationManager, _
ByVal obj As Object) As System.Workflow.ComponentModel.Compiler.ValidationErrorCollection
'Invoke the base class method implementation to
'perform default validation.
Dim errors As ValidationErrorCollection = MyBase.Validate(manager, obj)
'Make sure there is an activity instance.
Dim crw As ConsoleWriteLineActivity = CType(obj, ConsoleWriteLineActivity)
If crw Is Nothing Then
Throw New InvalidOperationException()
End If
'If the activity has no parent then this validation
'is occurring during the compilation of the activity
'and not during the hosting or creation of an
'activity instance.
If crw.Parent Is Nothing Then
'Can skip the rest of the validation because
'it deals with the hosting and the creation
'of the activity.
Return errors
End If
'Msg is required. Add a validation error if there is no
'Msg specified or Msg is not bound to another property.
If String.IsNullOrEmpty(crw.Msg) And _
crw.GetBinding(ConsoleWriteLineActivity.MsgProperty) Is Nothing Then
errors.Add(New ValidationError("Msg is required", 100, False, "Msg"))
End If
Return errors
End Function
Açıklamalar
Bu yöntem, özelliklerini Activitydoğrulamak için öğesini çağırırValidateProperties.
Bu yöntem yalnızca kök Activitydeğilse için Activity öğesinin Name Activity benzersizliğini doğrular.