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
- BuildProvider.cs
- ViewManager.cs
- CompilationUnit.cs
- UnsafeNativeMethods.cs
- SchemaNamespaceManager.cs
- QueryContinueDragEventArgs.cs
- SQLInt16.cs
- LogicalTreeHelper.cs
- LayoutEditorPart.cs
- DataGridViewTextBoxEditingControl.cs
- _ConnectOverlappedAsyncResult.cs
- SmiContextFactory.cs
- Pair.cs
- ProcessProtocolHandler.cs
- XmlException.cs
- SchemaNotation.cs
- TransactionFilter.cs
- ChameleonKey.cs
- GetFileNameResult.cs
- PathFigureCollectionConverter.cs
- LocatorPartList.cs
- OleDbErrorCollection.cs
- XmlCharCheckingReader.cs
- DisplayInformation.cs
- LocatorGroup.cs
- IncrementalHitTester.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- DocumentPageHost.cs
- TypeEnumerableViewSchema.cs
- PathParser.cs
- ConnectionPoolManager.cs
- ImageAutomationPeer.cs
- ExpressionCopier.cs
- WebPermission.cs
- TabRenderer.cs
- Int32CAMarshaler.cs
- OleDbCommandBuilder.cs
- ComponentResourceKeyConverter.cs
- Preprocessor.cs
- PointAnimationClockResource.cs
- Comparer.cs
- RightsManagementPermission.cs
- GlobalEventManager.cs
- WebSysDisplayNameAttribute.cs
- SafeRightsManagementEnvironmentHandle.cs
- SqlHelper.cs
- StorageRoot.cs
- HttpServerVarsCollection.cs
- MailMessage.cs
- AudioLevelUpdatedEventArgs.cs
- WebEncodingValidatorAttribute.cs
- ToolStripGripRenderEventArgs.cs
- EmbossBitmapEffect.cs
- EasingKeyFrames.cs
- BaseDataListPage.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- FutureFactory.cs
- UIElementIsland.cs
- CodeSubDirectoriesCollection.cs
- HierarchicalDataBoundControlAdapter.cs
- BitmapEffectInput.cs
- XmlUTF8TextReader.cs
- TypeUtils.cs
- BindingExpressionUncommonField.cs
- ImageClickEventArgs.cs
- TreeNodeBinding.cs
- RuntimeDelegateArgument.cs
- GridViewUpdateEventArgs.cs
- xamlnodes.cs
- InkCanvasFeedbackAdorner.cs
- Errors.cs
- HttpCookieCollection.cs
- RangeValueProviderWrapper.cs
- HttpProcessUtility.cs
- ItemTypeToolStripMenuItem.cs
- WindowsButton.cs
- ProgressBar.cs
- VisualStyleRenderer.cs
- WebPartDisplayModeCancelEventArgs.cs
- CharacterHit.cs
- InfoCardSchemas.cs
- TransactionManagerProxy.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- AsyncDataRequest.cs
- securitymgrsite.cs
- SQLRoleProvider.cs
- BatchWriter.cs
- InvalidEnumArgumentException.cs
- DeclaredTypeValidator.cs
- AsymmetricAlgorithm.cs
- Filter.cs
- Oid.cs
- HiddenFieldPageStatePersister.cs
- DataContext.cs
- CalendarItem.cs
- ZipIOExtraFieldZip64Element.cs
- DBConnectionString.cs
- StaticResourceExtension.cs
- CustomCategoryAttribute.cs
- AccessibleObject.cs