Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / ConsoleKeyInfo.cs / 1 / ConsoleKeyInfo.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================================== ** ** Class: ConsoleKeyInfo ** ** ** Purpose: This value type represents a single key press, with modifier keys ** like Alt, Control, and Shift. ** ** =============================================================================*/ namespace System { [Serializable] public struct ConsoleKeyInfo { private char _keyChar; private ConsoleKey _key; private ConsoleModifiers _mods; public ConsoleKeyInfo(char keyChar, ConsoleKey key, bool shift, bool alt, bool control) { // Limit ConsoleKey values to 0 to 255, but don't check whether the // key is a valid value in our ConsoleKey enum. There are a few // values in that enum that we didn't define, and reserved keys // that might start showing up on keyboards in a few years. if (((int)key) < 0 || ((int)key) > 255) throw new ArgumentOutOfRangeException("key", Environment.GetResourceString("ArgumentOutOfRange_ConsoleKey")); _keyChar = keyChar; _key = key; _mods = 0; if (shift) _mods |= ConsoleModifiers.Shift; if (alt) _mods |= ConsoleModifiers.Alt; if (control) _mods |= ConsoleModifiers.Control; } public char KeyChar { get { return _keyChar; } } public ConsoleKey Key { get { return _key; } } public ConsoleModifiers Modifiers { get { return _mods; } } public override bool Equals(Object value) { if (value is ConsoleKeyInfo) return Equals((ConsoleKeyInfo)value); else return false; } public bool Equals(ConsoleKeyInfo obj) { return obj._keyChar == _keyChar && obj._key == _key && obj._mods == _mods; } public static bool operator ==(ConsoleKeyInfo a, ConsoleKeyInfo b) { return a.Equals(b); } public static bool operator !=(ConsoleKeyInfo a, ConsoleKeyInfo b) { return !(a == b); } public override int GetHashCode() { return (int)_keyChar | (int) _mods; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================================== ** ** Class: ConsoleKeyInfo ** ** ** Purpose: This value type represents a single key press, with modifier keys ** like Alt, Control, and Shift. ** ** =============================================================================*/ namespace System { [Serializable] public struct ConsoleKeyInfo { private char _keyChar; private ConsoleKey _key; private ConsoleModifiers _mods; public ConsoleKeyInfo(char keyChar, ConsoleKey key, bool shift, bool alt, bool control) { // Limit ConsoleKey values to 0 to 255, but don't check whether the // key is a valid value in our ConsoleKey enum. There are a few // values in that enum that we didn't define, and reserved keys // that might start showing up on keyboards in a few years. if (((int)key) < 0 || ((int)key) > 255) throw new ArgumentOutOfRangeException("key", Environment.GetResourceString("ArgumentOutOfRange_ConsoleKey")); _keyChar = keyChar; _key = key; _mods = 0; if (shift) _mods |= ConsoleModifiers.Shift; if (alt) _mods |= ConsoleModifiers.Alt; if (control) _mods |= ConsoleModifiers.Control; } public char KeyChar { get { return _keyChar; } } public ConsoleKey Key { get { return _key; } } public ConsoleModifiers Modifiers { get { return _mods; } } public override bool Equals(Object value) { if (value is ConsoleKeyInfo) return Equals((ConsoleKeyInfo)value); else return false; } public bool Equals(ConsoleKeyInfo obj) { return obj._keyChar == _keyChar && obj._key == _key && obj._mods == _mods; } public static bool operator ==(ConsoleKeyInfo a, ConsoleKeyInfo b) { return a.Equals(b); } public static bool operator !=(ConsoleKeyInfo a, ConsoleKeyInfo b) { return !(a == b); } public override int GetHashCode() { return (int)_keyChar | (int) _mods; } } } // 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
- Matrix.cs
- XamlInt32CollectionSerializer.cs
- MultipartIdentifier.cs
- SafeBitVector32.cs
- FilterableAttribute.cs
- WorkflowInspectionServices.cs
- CheckedPointers.cs
- Tokenizer.cs
- XmlSchemaSimpleContentRestriction.cs
- ColorConvertedBitmap.cs
- ArraySet.cs
- MailSettingsSection.cs
- RectAnimation.cs
- ValueCollectionParameterReader.cs
- CodeDelegateInvokeExpression.cs
- MenuItem.cs
- KeyFrames.cs
- HtmlButton.cs
- ControlEvent.cs
- NamespaceQuery.cs
- TextServicesContext.cs
- RawStylusInputCustomDataList.cs
- ContextBase.cs
- SmtpNetworkElement.cs
- InvalidDataException.cs
- DbConnectionFactory.cs
- AsyncOperationContext.cs
- ColumnMapVisitor.cs
- ScrollBarAutomationPeer.cs
- EntityCollection.cs
- CompositeControl.cs
- KeyedByTypeCollection.cs
- DiagnosticTrace.cs
- TableAdapterManagerMethodGenerator.cs
- TreeNodeMouseHoverEvent.cs
- DataObjectCopyingEventArgs.cs
- LogSwitch.cs
- _Events.cs
- CellPartitioner.cs
- ExtensionQuery.cs
- TextSimpleMarkerProperties.cs
- RouteItem.cs
- ClientConfigPaths.cs
- LongAverageAggregationOperator.cs
- XmlSignatureProperties.cs
- handlecollector.cs
- ExecutedRoutedEventArgs.cs
- altserialization.cs
- MeshGeometry3D.cs
- HealthMonitoringSectionHelper.cs
- EditableRegion.cs
- MessageDescription.cs
- HttpFileCollection.cs
- XmlBinaryReader.cs
- DesignerAutoFormat.cs
- QuaternionIndependentAnimationStorage.cs
- MimeWriter.cs
- CompiledRegexRunner.cs
- GeneralTransform3D.cs
- NameSpaceExtractor.cs
- ConnectionInterfaceCollection.cs
- Stylus.cs
- TrackingProfile.cs
- DataGridViewCellValueEventArgs.cs
- FaultFormatter.cs
- StandardOleMarshalObject.cs
- RuntimeHelpers.cs
- TripleDESCryptoServiceProvider.cs
- HttpContextBase.cs
- PropertyGroupDescription.cs
- MenuItem.cs
- RangeValidator.cs
- IIS7WorkerRequest.cs
- WinFormsSpinner.cs
- ImageAnimator.cs
- ValidatorAttribute.cs
- Size.cs
- LostFocusEventManager.cs
- RetriableClipboard.cs
- PersonalizableTypeEntry.cs
- ErrorFormatter.cs
- SinglePageViewer.cs
- ListViewItemSelectionChangedEvent.cs
- X509RawDataKeyIdentifierClause.cs
- SurrogateEncoder.cs
- XmlSchemaImport.cs
- ToolboxItemImageConverter.cs
- ClientUriBehavior.cs
- DateTimeUtil.cs
- StatusBarPanel.cs
- formatstringdialog.cs
- SourceInterpreter.cs
- FunctionDefinition.cs
- DataObjectSettingDataEventArgs.cs
- QilGeneratorEnv.cs
- Error.cs
- TypeResolver.cs
- QilTypeChecker.cs
- SymbolMethod.cs
- DmlSqlGenerator.cs