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
- altserialization.cs
- HttpListenerResponse.cs
- TabItemWrapperAutomationPeer.cs
- validationstate.cs
- SqlInternalConnection.cs
- GeometryConverter.cs
- MailWebEventProvider.cs
- MarkupCompilePass2.cs
- AbstractSvcMapFileLoader.cs
- PageCatalogPart.cs
- DataGridViewComboBoxColumn.cs
- SqlErrorCollection.cs
- RTTypeWrapper.cs
- AttributeAction.cs
- OdbcErrorCollection.cs
- SQLSingleStorage.cs
- SqlFlattener.cs
- WebEventCodes.cs
- ListDesigner.cs
- Vector3DValueSerializer.cs
- ItemType.cs
- TcpStreams.cs
- SqlTrackingWorkflowInstance.cs
- SignatureDescription.cs
- MoveSizeWinEventHandler.cs
- DataKeyCollection.cs
- WebPartTracker.cs
- UserPreferenceChangingEventArgs.cs
- InputProcessorProfilesLoader.cs
- OSFeature.cs
- SchemaTableColumn.cs
- GroupByQueryOperator.cs
- HttpApplicationFactory.cs
- HtmlTernaryTree.cs
- CachedPathData.cs
- NumberEdit.cs
- DataGridViewTextBoxColumn.cs
- Stackframe.cs
- BuildProvider.cs
- StringExpressionSet.cs
- MetadataCacheItem.cs
- ConstraintEnumerator.cs
- CompositeActivityTypeDescriptor.cs
- Symbol.cs
- ParameterCollectionEditor.cs
- RoutedEventHandlerInfo.cs
- WebWorkflowRole.cs
- FormViewCommandEventArgs.cs
- HostSecurityManager.cs
- QilReference.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- ObjectCloneHelper.cs
- MimeAnyImporter.cs
- SafeLibraryHandle.cs
- DataStreams.cs
- Cell.cs
- ResourceWriter.cs
- AdornerLayer.cs
- CodeTypeConstructor.cs
- XmlHierarchicalEnumerable.cs
- ImageBrush.cs
- StackSpiller.Generated.cs
- ObjectViewListener.cs
- ParameterCollectionEditor.cs
- XmlName.cs
- EntityDesignerDataSourceView.cs
- DATA_BLOB.cs
- PathBox.cs
- WindowsStatusBar.cs
- InputBindingCollection.cs
- OleDbEnumerator.cs
- CompositeFontFamily.cs
- SizeConverter.cs
- ErasingStroke.cs
- WebBrowserNavigatedEventHandler.cs
- SerialStream.cs
- TerminateSequence.cs
- XmlHierarchyData.cs
- PreservationFileWriter.cs
- SafeNativeMemoryHandle.cs
- GenerateHelper.cs
- SafeMILHandle.cs
- TrustManagerMoreInformation.cs
- Page.cs
- ReferenceSchema.cs
- NativeRecognizer.cs
- _ListenerResponseStream.cs
- XmlTextReaderImpl.cs
- DependencyProperty.cs
- UInt64.cs
- GlyphRunDrawing.cs
- HtmlTableCellCollection.cs
- DesignerSelectionListAdapter.cs
- Contracts.cs
- BaseAsyncResult.cs
- AndMessageFilterTable.cs
- ComponentChangedEvent.cs
- PipelineModuleStepContainer.cs
- NodeCounter.cs
- StylusPlugin.cs