Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FloaterBaseParaClient.cs
- DataReaderContainer.cs
- ScriptingJsonSerializationSection.cs
- ValidationSummary.cs
- ContextMenu.cs
- XPathSelectionIterator.cs
- Utility.cs
- ActiveXHelper.cs
- DataGridViewCellStyleConverter.cs
- Soap12ServerProtocol.cs
- Model3DGroup.cs
- WebConfigurationHost.cs
- PrintingPermission.cs
- AttachedAnnotation.cs
- XPathSelectionIterator.cs
- streamingZipPartStream.cs
- TextEndOfLine.cs
- StatusBarPanelClickEvent.cs
- TypeReference.cs
- TreeSet.cs
- MDIClient.cs
- PersonalizationProviderCollection.cs
- ContentPathSegment.cs
- PixelShader.cs
- MonthChangedEventArgs.cs
- NetworkInformationException.cs
- BufferModesCollection.cs
- PartitionResolver.cs
- Control.cs
- ExpressionServices.cs
- _FtpDataStream.cs
- Action.cs
- DebugView.cs
- StrokeNodeEnumerator.cs
- BoolExpr.cs
- ViewPort3D.cs
- FixedDocument.cs
- TransactionScope.cs
- XmlSerializer.cs
- ByteBufferPool.cs
- WSIdentityFaultException.cs
- ControlIdConverter.cs
- BaseCodePageEncoding.cs
- Guid.cs
- DataGridRow.cs
- ButtonRenderer.cs
- EntityFrameworkVersions.cs
- Debug.cs
- JapaneseLunisolarCalendar.cs
- PropertyGrid.cs
- WithStatement.cs
- GraphicsPath.cs
- WarningException.cs
- SemanticTag.cs
- MemberMaps.cs
- XmlWriter.cs
- Convert.cs
- Menu.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- CompositeFontParser.cs
- ZipIOLocalFileDataDescriptor.cs
- PromptEventArgs.cs
- cookiecontainer.cs
- SqlExpander.cs
- CodeGenerator.cs
- ObjectPersistData.cs
- DataGridViewToolTip.cs
- MaskedTextBoxDesignerActionList.cs
- ModifiableIteratorCollection.cs
- GACMembershipCondition.cs
- RayHitTestParameters.cs
- KnowledgeBase.cs
- ProtocolsConfigurationHandler.cs
- XmlWrappingWriter.cs
- RandomNumberGenerator.cs
- SimpleHandlerBuildProvider.cs
- WSHttpBindingBaseElement.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- ResourceManager.cs
- StylusOverProperty.cs
- ToolStripItem.cs
- QueryCacheEntry.cs
- CollectionBase.cs
- MatrixValueSerializer.cs
- CodeDelegateInvokeExpression.cs
- ReflectionHelper.cs
- MenuBindingsEditor.cs
- ComPlusInstanceContextInitializer.cs
- DesigntimeLicenseContext.cs
- SQLResource.cs
- BitStream.cs
- PropertyPath.cs
- SessionStateContainer.cs
- DataException.cs
- TreeNodeCollectionEditor.cs
- ArrayConverter.cs
- RunInstallerAttribute.cs
- FormViewInsertedEventArgs.cs
- ResourcesBuildProvider.cs
- ObjectToIdCache.cs