Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- HwndSubclass.cs
- TextChangedEventArgs.cs
- DataServiceStreamProviderWrapper.cs
- NamedObject.cs
- CodeCommentStatement.cs
- VsPropertyGrid.cs
- CreateBookmarkScope.cs
- MouseActionConverter.cs
- ObjectDataSourceView.cs
- Span.cs
- EditorZone.cs
- ArgumentException.cs
- TrackingMemoryStreamFactory.cs
- HttpsHostedTransportConfiguration.cs
- GlyphRunDrawing.cs
- ConstrainedDataObject.cs
- FieldDescriptor.cs
- MatrixConverter.cs
- ListViewSortEventArgs.cs
- CodeLinePragma.cs
- XmlValidatingReader.cs
- As.cs
- DataTablePropertyDescriptor.cs
- RoutedEventArgs.cs
- ConsoleCancelEventArgs.cs
- StoryFragments.cs
- NativeActivityAbortContext.cs
- ArcSegment.cs
- DataServices.cs
- BreadCrumbTextConverter.cs
- XmlHierarchicalEnumerable.cs
- StrokeCollection2.cs
- ProcessManager.cs
- Atom10FormatterFactory.cs
- UserPreferenceChangedEventArgs.cs
- NetPeerTcpBindingElement.cs
- ColumnWidthChangingEvent.cs
- ResourceKey.cs
- HtmlMeta.cs
- CustomLineCap.cs
- MailFileEditor.cs
- WebPartExportVerb.cs
- CollectionViewGroupRoot.cs
- XsltLibrary.cs
- TextTreeUndo.cs
- ToolStripContentPanel.cs
- SQLString.cs
- StringUtil.cs
- DesignerFrame.cs
- SqlMethodTransformer.cs
- FormatConvertedBitmap.cs
- CompressedStack.cs
- DataGridCellClipboardEventArgs.cs
- AutoGeneratedFieldProperties.cs
- RadioButtonList.cs
- LinkedResourceCollection.cs
- ImageEditor.cs
- TrustSection.cs
- RoleServiceManager.cs
- KeyedByTypeCollection.cs
- SQLInt64Storage.cs
- DiagnosticTraceRecords.cs
- mactripleDES.cs
- CopyEncoder.cs
- _TLSstream.cs
- ManagementPath.cs
- AuthorizationRuleCollection.cs
- SchemaEntity.cs
- FormatSettings.cs
- RadioButtonList.cs
- InvokeHandlers.cs
- OAVariantLib.cs
- SafeSystemMetrics.cs
- BindingNavigator.cs
- BitmapEffectDrawing.cs
- XmlAtomicValue.cs
- LabelEditEvent.cs
- CustomAttributeFormatException.cs
- HttpHandlersSection.cs
- IPipelineRuntime.cs
- ByteStorage.cs
- CookielessHelper.cs
- BitConverter.cs
- LockCookie.cs
- HwndSubclass.cs
- MatrixCamera.cs
- WebPartConnectionCollection.cs
- SecurityContext.cs
- WebServiceData.cs
- DataTableNewRowEvent.cs
- CustomAttributeBuilder.cs
- CompiledIdentityConstraint.cs
- XmlSchemaDocumentation.cs
- TCPClient.cs
- RequestQueue.cs
- hwndwrapper.cs
- ArraySortHelper.cs
- PathNode.cs
- ToolStripItemCollection.cs
- DecoderExceptionFallback.cs