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
- BaseTransportHeaders.cs
- Roles.cs
- HyperLinkStyle.cs
- TreeViewImageKeyConverter.cs
- COM2PropertyDescriptor.cs
- RecordManager.cs
- oledbmetadatacolumnnames.cs
- DataSourceSelectArguments.cs
- VersionedStreamOwner.cs
- NumberFormatInfo.cs
- StylusShape.cs
- DataRowView.cs
- HostProtectionPermission.cs
- DependencyPropertyConverter.cs
- FileLoadException.cs
- Property.cs
- DataControlLinkButton.cs
- PropertyEmitterBase.cs
- ProgressChangedEventArgs.cs
- DataGridViewRowCollection.cs
- PolicyManager.cs
- SectionRecord.cs
- DataContract.cs
- LinkButton.cs
- NodeLabelEditEvent.cs
- SynchronizedRandom.cs
- CompModSwitches.cs
- SafeNativeMethods.cs
- DesignerVerbCollection.cs
- Nullable.cs
- XmlNamedNodeMap.cs
- SQLRoleProvider.cs
- BufferedGraphicsManager.cs
- SequenceDesignerAccessibleObject.cs
- Bitmap.cs
- WebPartAddingEventArgs.cs
- HebrewCalendar.cs
- AccessDataSource.cs
- FamilyMap.cs
- LinkedResourceCollection.cs
- EntityContainer.cs
- DesignerCommandAdapter.cs
- QfeChecker.cs
- PerspectiveCamera.cs
- ExecutedRoutedEventArgs.cs
- TextSelectionProcessor.cs
- PriorityQueue.cs
- SoapAttributeOverrides.cs
- TypeListConverter.cs
- FixedSOMSemanticBox.cs
- DeferredElementTreeState.cs
- WSSecurityTokenSerializer.cs
- DataGridViewEditingControlShowingEventArgs.cs
- MemberPath.cs
- PersonalizationState.cs
- httpserverutility.cs
- ValidatedMobileControlConverter.cs
- CheckBoxRenderer.cs
- ToolStripDropDownButton.cs
- TypeHelpers.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- CompileLiteralTextParser.cs
- SiteMapHierarchicalDataSourceView.cs
- LinkLabelLinkClickedEvent.cs
- ReadWriteSpinLock.cs
- PeerNameRecordCollection.cs
- ThemeableAttribute.cs
- ProxyGenerator.cs
- Rijndael.cs
- ActivityTypeCodeDomSerializer.cs
- ResourceBinder.cs
- SupportingTokenBindingElement.cs
- TraceXPathNavigator.cs
- FixUpCollection.cs
- GridViewDeleteEventArgs.cs
- SQLDecimalStorage.cs
- AtomicFile.cs
- BoolExpr.cs
- ColorTranslator.cs
- IBuiltInEvidence.cs
- Int32AnimationUsingKeyFrames.cs
- NamespaceQuery.cs
- HwndSourceKeyboardInputSite.cs
- ScaleTransform3D.cs
- UIntPtr.cs
- ResourceAssociationSet.cs
- PowerStatus.cs
- LOSFormatter.cs
- Pair.cs
- BufferedStream2.cs
- TextRunCacheImp.cs
- OdbcConnectionHandle.cs
- ErasingStroke.cs
- PassportIdentity.cs
- Image.cs
- XmlNamedNodeMap.cs
- ReverseInheritProperty.cs
- OpacityConverter.cs
- AnnotationMap.cs
- SR.cs