Code:
/ 4.0 / 4.0 / untmp / 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);
}
///
///
///
///
/// Provides some interesting information about the TriState in
/// String form.
///
///
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HttpResponseInternalBase.cs
- XmlSchemaCompilationSettings.cs
- RequestContext.cs
- SqlUtils.cs
- GridItemProviderWrapper.cs
- XmlSchemaComplexContentExtension.cs
- HttpDictionary.cs
- AspNetSynchronizationContext.cs
- _StreamFramer.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- ellipse.cs
- ObjectSet.cs
- SoapAttributeAttribute.cs
- SqlParameter.cs
- XamlVector3DCollectionSerializer.cs
- ValidatingPropertiesEventArgs.cs
- RootProfilePropertySettingsCollection.cs
- InProcStateClientManager.cs
- SqlDataSourceFilteringEventArgs.cs
- ObjectDataSourceEventArgs.cs
- Tokenizer.cs
- HtmlWindowCollection.cs
- RouteParameter.cs
- Window.cs
- WorkflowOperationInvoker.cs
- XmlSchemaSearchPattern.cs
- ResourceExpressionBuilder.cs
- SiteMapPath.cs
- FontFamilyValueSerializer.cs
- ExecutionEngineException.cs
- RootProfilePropertySettingsCollection.cs
- AvTrace.cs
- ToolStripStatusLabel.cs
- _NTAuthentication.cs
- TargetException.cs
- UnsafeNativeMethodsPenimc.cs
- CodeMemberMethod.cs
- DbReferenceCollection.cs
- CodeStatement.cs
- OleServicesContext.cs
- RequestValidator.cs
- ConfigXmlText.cs
- ConditionalBranch.cs
- VisualStyleTypesAndProperties.cs
- SharedDp.cs
- OrderToken.cs
- XNodeValidator.cs
- FixedTextPointer.cs
- BindableAttribute.cs
- DbDataRecord.cs
- ApplicationServiceManager.cs
- SdlChannelSink.cs
- MeasurementDCInfo.cs
- LogicalExpr.cs
- X509CertificateClaimSet.cs
- StreamUpgradeInitiator.cs
- PrintController.cs
- SessionPageStatePersister.cs
- DataMemberConverter.cs
- Listen.cs
- WindowPatternIdentifiers.cs
- OleDbEnumerator.cs
- TouchDevice.cs
- Trace.cs
- HttpPostedFile.cs
- TrustManagerPromptUI.cs
- AQNBuilder.cs
- ToolStripLabel.cs
- AdjustableArrowCap.cs
- ServiceOperationHelpers.cs
- XmlLoader.cs
- EditableLabelControl.cs
- XhtmlTextWriter.cs
- precedingquery.cs
- SafeFreeMibTable.cs
- TextComposition.cs
- HashSet.cs
- GenericTypeParameterBuilder.cs
- TextProperties.cs
- WebPartsPersonalizationAuthorization.cs
- TransformGroup.cs
- AsymmetricCryptoHandle.cs
- SiblingIterators.cs
- InvalidPrinterException.cs
- Assembly.cs
- TextElementCollection.cs
- WorkflowDebuggerSteppingAttribute.cs
- EmbeddedMailObject.cs
- ConsoleTraceListener.cs
- XmlNamespaceMappingCollection.cs
- LocalizationParserHooks.cs
- CachedPathData.cs
- SerialStream.cs
- TextProviderWrapper.cs
- ContextMenu.cs
- ClientRolePrincipal.cs
- RemotingSurrogateSelector.cs
- RemoteWebConfigurationHost.cs
- SqlProfileProvider.cs
- DependencyObjectPropertyDescriptor.cs