Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- DataKeyArray.cs
- GridViewColumnHeader.cs
- DependencyObjectPropertyDescriptor.cs
- ConsumerConnectionPoint.cs
- HttpModuleCollection.cs
- MethodExpr.cs
- HwndProxyElementProvider.cs
- SqlClientFactory.cs
- _UriSyntax.cs
- CustomValidator.cs
- ClientCultureInfo.cs
- GridSplitter.cs
- SapiRecoContext.cs
- CompatibleIComparer.cs
- securestring.cs
- KeyboardDevice.cs
- DataRelationPropertyDescriptor.cs
- CollectionEditor.cs
- XmlILConstructAnalyzer.cs
- NativeWindow.cs
- RawStylusInputCustomData.cs
- ToolStripDropDownButton.cs
- TransactionFilter.cs
- TouchPoint.cs
- ByteStream.cs
- BitmapFrame.cs
- OrderedParallelQuery.cs
- InputQueueChannel.cs
- DeviceFiltersSection.cs
- CharacterBufferReference.cs
- DiffuseMaterial.cs
- CodeConstructor.cs
- NamespaceMapping.cs
- ILGenerator.cs
- Container.cs
- SpnEndpointIdentity.cs
- ParserStack.cs
- SpellerStatusTable.cs
- ReferencedCollectionType.cs
- WebPart.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- RSACryptoServiceProvider.cs
- WebPartZoneBase.cs
- TagMapCollection.cs
- ButtonRenderer.cs
- DescendantOverDescendantQuery.cs
- EdmSchemaAttribute.cs
- ControlParameter.cs
- ModelProperty.cs
- XmlTypeMapping.cs
- ResourceDictionary.cs
- WindowsListViewItem.cs
- WindowsListViewItemCheckBox.cs
- ChtmlImageAdapter.cs
- VisemeEventArgs.cs
- OdbcReferenceCollection.cs
- ParameterCollection.cs
- CurrencyManager.cs
- TypeUtil.cs
- XmlTextWriter.cs
- SerializationFieldInfo.cs
- TextParagraph.cs
- ContentPresenter.cs
- NativeMethodsCLR.cs
- WizardForm.cs
- XamlTypeMapper.cs
- UniqueConstraint.cs
- MouseGestureConverter.cs
- _NativeSSPI.cs
- RowVisual.cs
- ExeContext.cs
- SkinBuilder.cs
- SystemPens.cs
- KeyedHashAlgorithm.cs
- VariantWrapper.cs
- DependencyPropertyAttribute.cs
- FunctionDescription.cs
- SecurityTokenResolver.cs
- ActivityCodeGenerator.cs
- UnionExpr.cs
- ParseHttpDate.cs
- DbBuffer.cs
- XmlSchemaAll.cs
- TimeoutConverter.cs
- ActivityExecutionContext.cs
- EdmComplexTypeAttribute.cs
- ObjectStorage.cs
- newitemfactory.cs
- ValidationService.cs
- SecureStringHasher.cs
- OleDbConnection.cs
- EllipseGeometry.cs
- SwitchLevelAttribute.cs
- TabControlToolboxItem.cs
- Condition.cs
- PTProvider.cs
- TreePrinter.cs
- EncodingNLS.cs
- SchemaImporterExtensionElementCollection.cs
- PermissionToken.cs