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
- TryExpression.cs
- ArgumentDirectionHelper.cs
- TransformationRules.cs
- assemblycache.cs
- PasswordDeriveBytes.cs
- __FastResourceComparer.cs
- SystemGatewayIPAddressInformation.cs
- serverconfig.cs
- IisTraceListener.cs
- MaskedTextBoxDesignerActionList.cs
- RelAssertionDirectKeyIdentifierClause.cs
- DynamicRenderer.cs
- Console.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- Int16.cs
- FileDialogCustomPlaces.cs
- RowToFieldTransformer.cs
- StreamInfo.cs
- AbstractSvcMapFileLoader.cs
- KeyValuePairs.cs
- ErrorFormatter.cs
- UserControlParser.cs
- CopyNamespacesAction.cs
- SolidColorBrush.cs
- ExtensionFile.cs
- CapabilitiesSection.cs
- StorageMappingFragment.cs
- PerfProviderCollection.cs
- DataGridViewCellValueEventArgs.cs
- DataGridViewComboBoxColumn.cs
- EventData.cs
- SynchronizationLockException.cs
- WebBrowser.cs
- DataGridDesigner.cs
- DelimitedListTraceListener.cs
- AuthenticatedStream.cs
- SoapServerMethod.cs
- ContextDataSource.cs
- CacheDependency.cs
- CheckoutException.cs
- TextBounds.cs
- Mutex.cs
- PathSegmentCollection.cs
- EncryptedPackageFilter.cs
- ServiceObjectContainer.cs
- NamespaceDecl.cs
- ToolStripContextMenu.cs
- WebPartMovingEventArgs.cs
- XmlSchemaType.cs
- Drawing.cs
- Error.cs
- TakeQueryOptionExpression.cs
- WindowsRichEditRange.cs
- ASCIIEncoding.cs
- ResourceSetExpression.cs
- BamlWriter.cs
- NotifyInputEventArgs.cs
- StylusShape.cs
- MembershipSection.cs
- RuntimeConfig.cs
- ConsumerConnectionPointCollection.cs
- ListenerServiceInstallComponent.cs
- DaylightTime.cs
- ContentFileHelper.cs
- ArraySubsetEnumerator.cs
- DataSourceComponent.cs
- StringFunctions.cs
- OdbcReferenceCollection.cs
- ContentFilePart.cs
- DropSource.cs
- FileDialogPermission.cs
- ISSmlParser.cs
- HorizontalAlignConverter.cs
- EventSource.cs
- Buffer.cs
- WebPartConnectionsConfigureVerb.cs
- CompilationUtil.cs
- FrameworkContentElement.cs
- Keyboard.cs
- AppSettingsReader.cs
- CompModSwitches.cs
- MetadataArtifactLoaderCompositeFile.cs
- UserPreferenceChangedEventArgs.cs
- PolicyException.cs
- BufferedReadStream.cs
- XmlCharacterData.cs
- GlobalizationAssembly.cs
- HttpClientCertificate.cs
- PerfCounters.cs
- PreApplicationStartMethodAttribute.cs
- ExternalFile.cs
- MultipartIdentifier.cs
- errorpatternmatcher.cs
- XslCompiledTransform.cs
- UndoManager.cs
- CompositeKey.cs
- XamlParser.cs
- DesignerTransaction.cs
- ColumnResult.cs
- AdornerLayer.cs