Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Log / System / IO / Log / PolicyUnit.cs / 1305376 / PolicyUnit.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IO.Log { using System; using System.Globalization; public struct PolicyUnit { PolicyUnitType type; long value; public PolicyUnit(long value, PolicyUnitType type) { if (type == PolicyUnitType.Percentage) { if ((value < 0) || (value > 100)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.ArgumentOutOfRange("value")); } else if (type == PolicyUnitType.Extents) { if (value < 0) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.ArgumentOutOfRange("value")); } else { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.ArgumentOutOfRange("type")); } this.type = type; this.value = value; } public PolicyUnitType Type { get { return this.type; } } public long Value { get { return this.value; } } public override int GetHashCode() { return (this.type.GetHashCode() ^ this.value.GetHashCode()); } public override bool Equals(object obj) { if (!(obj is PolicyUnit)) return false; PolicyUnit other = (PolicyUnit)(obj); return this == other; } public static bool operator ==(PolicyUnit left, PolicyUnit right) { return ((left.type == right.type) && (left.value == right.value)); } public static bool operator !=(PolicyUnit left, PolicyUnit right) { return !(left == right); } public static PolicyUnit Percentage(long value) { return new PolicyUnit(value, PolicyUnitType.Percentage); } public static PolicyUnit Extents(long value) { return new PolicyUnit(value, PolicyUnitType.Extents); } public override string ToString() { if (this.type == PolicyUnitType.Percentage) { return SR.GetString(SR.PolicyUnit_Percent, this.value); } else { return SR.GetString(SR.PolicyUnit_Extents, this.value); } } } } // 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
- DesignerMetadata.cs
- Int32Collection.cs
- DesignerOptionService.cs
- FontFamilyValueSerializer.cs
- Hash.cs
- AnnotationResourceCollection.cs
- PasswordPropertyTextAttribute.cs
- XamlPathDataSerializer.cs
- HttpConfigurationSystem.cs
- StreamBodyWriter.cs
- ListSourceHelper.cs
- Classification.cs
- XmlFormatWriterGenerator.cs
- MethodCallConverter.cs
- X509Utils.cs
- CheckBox.cs
- WebPartEditorCancelVerb.cs
- PlainXmlDeserializer.cs
- ConnectionProviderAttribute.cs
- NamespaceMapping.cs
- DataGridViewElement.cs
- XmlSchemaSequence.cs
- ToggleProviderWrapper.cs
- VisualTreeHelper.cs
- LayoutEditorPart.cs
- _ContextAwareResult.cs
- UpdatePanelTriggerCollection.cs
- ButtonBaseAdapter.cs
- XmlTextReader.cs
- Executor.cs
- ConfigurationManagerInternal.cs
- WebPartCloseVerb.cs
- XPathScanner.cs
- XmlUnspecifiedAttribute.cs
- XmlSchemaAll.cs
- Size.cs
- DirectionalLight.cs
- CodeTypeReference.cs
- PageHandlerFactory.cs
- ExtenderControl.cs
- StringResourceManager.cs
- FileSecurity.cs
- Types.cs
- AppDomainManager.cs
- SaveFileDialog.cs
- MailAddressCollection.cs
- HiddenFieldDesigner.cs
- SelectionItemPattern.cs
- DocumentViewerHelper.cs
- SqlFlattener.cs
- NegotiateStream.cs
- PolicyLevel.cs
- XmlParser.cs
- TextEncodedRawTextWriter.cs
- PlainXmlDeserializer.cs
- Calendar.cs
- ArrayHelper.cs
- TailPinnedEventArgs.cs
- UnknownBitmapEncoder.cs
- FunctionDetailsReader.cs
- GetPageNumberCompletedEventArgs.cs
- AssemblyCache.cs
- UTF8Encoding.cs
- ContentIterators.cs
- TreeNodeBindingCollection.cs
- OdbcConnection.cs
- FtpWebRequest.cs
- XmlSchemaComplexContentRestriction.cs
- MonthCalendar.cs
- _ShellExpression.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- KeyGesture.cs
- ClassHandlersStore.cs
- SharedDp.cs
- ConfigurationPropertyCollection.cs
- XamlFilter.cs
- compensatingcollection.cs
- _NetworkingPerfCounters.cs
- EntityKey.cs
- Emitter.cs
- Vector3DConverter.cs
- FormsAuthenticationUserCollection.cs
- VScrollProperties.cs
- WebPartConnection.cs
- WindowsStatusBar.cs
- SkipQueryOptionExpression.cs
- SiteMapNodeItem.cs
- diagnosticsswitches.cs
- X509KeyIdentifierClauseType.cs
- HttpValueCollection.cs
- ProcessRequestArgs.cs
- XmlAnyElementAttribute.cs
- ProcessModelSection.cs
- PenThreadPool.cs
- ContextBase.cs
- GorillaCodec.cs
- EmbossBitmapEffect.cs
- CommentEmitter.cs
- PermissionToken.cs
- SqlTriggerContext.cs