Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CommonUI / System / Drawing / Printing / TriState.cs / 1305376 / TriState.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Printing { using System.ComponentModel; using System.Diagnostics; using System; [Serializable] internal struct TriState { private byte value; // 0 is "default", not false public static readonly TriState Default = new TriState(0); public static readonly TriState False = new TriState(1); public static readonly TriState True = new TriState(2); private TriState(byte value) { this.value = value; } public bool IsDefault { get { return this == Default;} } public bool IsFalse { get { return this == False;} } public bool IsNotDefault { get { return this != Default;} } public bool IsTrue { get { return this == True;} } public static bool operator ==(TriState left, TriState right) { return left.value == right.value; } public static bool operator !=(TriState left, TriState right) { return !(left == right); } public override bool Equals( object o ) { TriState state = (TriState)o; return this.value == state.value; } public override int GetHashCode() { return value; } public static implicit operator TriState(bool value) { return(value) ? True : False; } public static explicit operator bool(TriState value) { if (value.IsDefault) throw new InvalidCastException(SR.GetString(SR.TriStateCompareError)); else return(value == TriState.True); } ////// /// /// public override string ToString() { if (this == Default) return "Default"; else if (this == False) return "False"; else return "True"; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ ///// Provides some interesting information about the TriState in /// String form. /// ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Printing { using System.ComponentModel; using System.Diagnostics; using System; [Serializable] internal struct TriState { private byte value; // 0 is "default", not false public static readonly TriState Default = new TriState(0); public static readonly TriState False = new TriState(1); public static readonly TriState True = new TriState(2); private TriState(byte value) { this.value = value; } public bool IsDefault { get { return this == Default;} } public bool IsFalse { get { return this == False;} } public bool IsNotDefault { get { return this != Default;} } public bool IsTrue { get { return this == True;} } public static bool operator ==(TriState left, TriState right) { return left.value == right.value; } public static bool operator !=(TriState left, TriState right) { return !(left == right); } public override bool Equals( object o ) { TriState state = (TriState)o; return this.value == state.value; } public override int GetHashCode() { return value; } public static implicit operator TriState(bool value) { return(value) ? True : False; } public static explicit operator bool(TriState value) { if (value.IsDefault) throw new InvalidCastException(SR.GetString(SR.TriStateCompareError)); else return(value == TriState.True); } ////// /// /// public override string ToString() { if (this == Default) return "Default"; else if (this == False) return "False"; else return "True"; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007./// Provides some interesting information about the TriState in /// String form. /// ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RangeExpression.cs
- PersonalizableTypeEntry.cs
- AlphabetConverter.cs
- TransformProviderWrapper.cs
- OdbcConnection.cs
- DesignerHelpers.cs
- EventSinkHelperWriter.cs
- IHttpResponseInternal.cs
- SchemaObjectWriter.cs
- WebControlToolBoxItem.cs
- WsatConfiguration.cs
- AspNetCompatibilityRequirementsMode.cs
- HttpPostedFile.cs
- CodeAccessSecurityEngine.cs
- TemplateKeyConverter.cs
- ClientProxyGenerator.cs
- XPathBinder.cs
- WebPartConnection.cs
- UnicastIPAddressInformationCollection.cs
- CqlIdentifiers.cs
- SmtpTransport.cs
- Bezier.cs
- SchemaSetCompiler.cs
- PathSegmentCollection.cs
- dataprotectionpermission.cs
- FrameworkElementFactory.cs
- DisableDpiAwarenessAttribute.cs
- Visual3DCollection.cs
- InitializeCorrelation.cs
- SiteMapNodeItemEventArgs.cs
- ConfigurationStrings.cs
- TextStore.cs
- ObjectReferenceStack.cs
- FontCollection.cs
- Adorner.cs
- DESCryptoServiceProvider.cs
- ComplexLine.cs
- XmlTypeAttribute.cs
- OciHandle.cs
- SqlVisitor.cs
- DataGridViewTextBoxCell.cs
- EtwTrackingParticipant.cs
- WindowsUpDown.cs
- HandlerWithFactory.cs
- TypePresenter.xaml.cs
- SimpleRecyclingCache.cs
- ResolveNameEventArgs.cs
- IconHelper.cs
- XmlObjectSerializerContext.cs
- DBDataPermissionAttribute.cs
- WebAdminConfigurationHelper.cs
- MarshalByValueComponent.cs
- ProfileEventArgs.cs
- FixedHighlight.cs
- Transform3D.cs
- ScrollBar.cs
- SkewTransform.cs
- ConnectionProviderAttribute.cs
- ContentElement.cs
- PropertyChangeTracker.cs
- ImageFormatConverter.cs
- SecurityPolicySection.cs
- ElementMarkupObject.cs
- MobileListItem.cs
- WebPartCatalogCloseVerb.cs
- OneOfConst.cs
- TreeViewDesigner.cs
- InvokeMemberBinder.cs
- loginstatus.cs
- XmlEncoding.cs
- BooleanKeyFrameCollection.cs
- FormsAuthenticationTicket.cs
- DesignTimeTemplateParser.cs
- RenderData.cs
- SpeakInfo.cs
- Int32Storage.cs
- WaitForChangedResult.cs
- HtmlInputButton.cs
- XPathExpr.cs
- sortedlist.cs
- SecurityState.cs
- FormattedTextSymbols.cs
- FillBehavior.cs
- CommandHelper.cs
- PermissionSet.cs
- AddressAccessDeniedException.cs
- ClientViaElement.cs
- FixedSOMGroup.cs
- SafeNativeMethods.cs
- CodeArrayCreateExpression.cs
- oledbconnectionstring.cs
- HttpFileCollection.cs
- FileUtil.cs
- HierarchicalDataTemplate.cs
- CollectionContainer.cs
- XmlImplementation.cs
- DiscreteKeyFrames.cs
- TargetConverter.cs
- AnimationClock.cs
- PersonalizationStateQuery.cs