Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / ValidationResult.cs / 1305600 / ValidationResult.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) 2003 by Microsoft Corporation. All rights reserved.
//
//
//
// Description:
// A ValidationResult is the result of call to ValidationRule.Validate
//
// See specs at http://avalon/connecteddata/M5%20Specs/Validation.mht
//
// History:
// 5/3/2004 mharper: created.
//
//---------------------------------------------------------------------------
using System;
namespace System.Windows.Controls
{
///
/// A ValidationResult is the result of call to ValidationRule.Validate
///
public class ValidationResult
{
///
/// Constructor
///
public ValidationResult(bool isValid, object errorContent)
{
_isValid = isValid;
_errorContent = errorContent;
}
///
/// Whether or not the ValidationRule that was checked is valid.
///
public bool IsValid
{
get
{
return _isValid;
}
}
///
/// Additional information regarding the cause of the invalid
/// state of the binding that was just checked.
///
public object ErrorContent
{
get
{
return _errorContent;
}
}
///
/// Returns a valid ValidationResult
///
public static ValidationResult ValidResult
{
get
{
return s_valid;
}
}
///
/// Compares the parameters for value equality
///
/// left operand
/// right operand
/// true if the values are equal
public static bool operator == (ValidationResult left, ValidationResult right)
{
return Object.Equals(left, right);
}
///
/// Compares the parameters for value inequality
///
/// left operand
/// right operand
/// true if the values are not equal
public static bool operator != (ValidationResult left, ValidationResult right)
{
return !Object.Equals(left, right);
}
///
/// By-value comparison of ValidationResult
///
///
/// This method is also used indirectly from the operator overrides.
///
/// ValidationResult to be compared against this ValidationRule
/// true if obj is ValidationResult and has the same values
public override bool Equals(object obj)
{
// A cheaper alternative to Object.ReferenceEquals() is used here for better perf
if (obj == (object)this)
{
return true;
}
else
{
ValidationResult vr = obj as ValidationResult;
if (vr != null)
{
return (IsValid == vr.IsValid) && (ErrorContent == vr.ErrorContent);
}
}
return false;
}
///
/// Hash function for ValidationResult
///
/// hash code for the current ValidationResult
public override int GetHashCode()
{
return IsValid.GetHashCode() ^ ((ErrorContent == null) ? int.MinValue : ErrorContent).GetHashCode();
}
private bool _isValid;
private object _errorContent;
private static readonly ValidationResult s_valid = new ValidationResult(true, null);
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ReflectTypeDescriptionProvider.cs
- RepeatButton.cs
- CodeArrayCreateExpression.cs
- DiffuseMaterial.cs
- ComponentEvent.cs
- ToolbarAUtomationPeer.cs
- TaskDesigner.cs
- ViewGenResults.cs
- LockedActivityGlyph.cs
- KoreanCalendar.cs
- SqlUserDefinedTypeAttribute.cs
- ResourcePool.cs
- _Events.cs
- TreeViewBindingsEditor.cs
- FlowDocumentPaginator.cs
- SqlFactory.cs
- VariantWrapper.cs
- CompiledQueryCacheEntry.cs
- AttributeEmitter.cs
- TemplateBindingExtension.cs
- BuildResult.cs
- FileDialog_Vista_Interop.cs
- ToolStripRenderer.cs
- BamlVersionHeader.cs
- XsltQilFactory.cs
- DomainConstraint.cs
- ProtocolElementCollection.cs
- NetworkInformationException.cs
- EntryWrittenEventArgs.cs
- MDIClient.cs
- FieldInfo.cs
- IndexingContentUnit.cs
- Keywords.cs
- ClosableStream.cs
- Preprocessor.cs
- EdmComplexPropertyAttribute.cs
- XPathMultyIterator.cs
- TextUtf8RawTextWriter.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- WsatTransactionFormatter.cs
- XmlElementAttribute.cs
- SqlNotificationRequest.cs
- EncryptedData.cs
- ListView.cs
- AddingNewEventArgs.cs
- _NetRes.cs
- StreamHelper.cs
- RedirectionProxy.cs
- UIElementParagraph.cs
- AdRotator.cs
- FrameworkRichTextComposition.cs
- GradientStop.cs
- DispatcherExceptionEventArgs.cs
- NotImplementedException.cs
- ValidateNames.cs
- SecUtil.cs
- ArrayConverter.cs
- Geometry.cs
- HGlobalSafeHandle.cs
- ProfilePropertySettings.cs
- DetailsViewDeleteEventArgs.cs
- InstanceDescriptor.cs
- StatusBar.cs
- TextEditorCopyPaste.cs
- TextPenaltyModule.cs
- Link.cs
- DocumentPageView.cs
- GraphicsPath.cs
- CodeExporter.cs
- assemblycache.cs
- CreateUserWizardStep.cs
- SafeCertificateContext.cs
- pingexception.cs
- Brushes.cs
- StyleCollectionEditor.cs
- NullRuntimeConfig.cs
- CopyEncoder.cs
- SafeProcessHandle.cs
- GridViewRowEventArgs.cs
- Frame.cs
- Ref.cs
- FigureHelper.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- ExitEventArgs.cs
- GrammarBuilderPhrase.cs
- WebPartConnectionsCloseVerb.cs
- ChannelTokenTypeConverter.cs
- CodeSnippetTypeMember.cs
- Style.cs
- MetabaseServerConfig.cs
- ViewGenResults.cs
- WhiteSpaceTrimStringConverter.cs
- Environment.cs
- RadioButtonFlatAdapter.cs
- ApplicationSecurityManager.cs
- MappingException.cs
- BindingGraph.cs
- OrderPreservingSpoolingTask.cs
- SQLMembershipProvider.cs
- BitmapFrame.cs