Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- ConnectionInterfaceCollection.cs
- AutomationTextAttribute.cs
- ResourceDictionary.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TemplatePropertyEntry.cs
- RequestTimeoutManager.cs
- Int16.cs
- Clause.cs
- MetabaseReader.cs
- ResourceReader.cs
- Graphics.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- CopyOnWriteList.cs
- BoundsDrawingContextWalker.cs
- PerformanceCounter.cs
- SchemaNamespaceManager.cs
- CqlLexer.cs
- StaticFileHandler.cs
- WorkflowInstance.cs
- SerialErrors.cs
- SynchronousReceiveBehavior.cs
- BooleanFunctions.cs
- WebPartDisplayModeCancelEventArgs.cs
- HostingEnvironmentWrapper.cs
- DBPropSet.cs
- InvalidOperationException.cs
- ListViewItemMouseHoverEvent.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- TreeNodeCollection.cs
- ImagingCache.cs
- CodeAccessPermission.cs
- HttpCookie.cs
- TextParagraphCache.cs
- AsymmetricSignatureDeformatter.cs
- Message.cs
- ServiceEndpointElement.cs
- IPAddressCollection.cs
- PointCollectionConverter.cs
- ParallelTimeline.cs
- ListenUriMode.cs
- ObjectKeyFrameCollection.cs
- VectorAnimationBase.cs
- ListViewItemSelectionChangedEvent.cs
- PeerChannelFactory.cs
- ConstraintManager.cs
- XmlWrappingWriter.cs
- RtfFormatStack.cs
- SvcMapFileLoader.cs
- HttpListenerPrefixCollection.cs
- WebPartEditorApplyVerb.cs
- XmlImplementation.cs
- SqlConnectionStringBuilder.cs
- GridView.cs
- Point.cs
- XmlWellformedWriter.cs
- PageWrapper.cs
- WindowsStatusBar.cs
- TableDetailsCollection.cs
- AttributeCallbackBuilder.cs
- Root.cs
- ErrorInfoXmlDocument.cs
- SqlDataRecord.cs
- EffectiveValueEntry.cs
- FocusWithinProperty.cs
- BookmarkResumptionRecord.cs
- MetaTable.cs
- Certificate.cs
- HttpCapabilitiesSectionHandler.cs
- MSAAEventDispatcher.cs
- ObjectContext.cs
- NavigationEventArgs.cs
- ImmutableAssemblyCacheEntry.cs
- ExpressionEditorAttribute.cs
- DiscoveryProxy.cs
- AdapterDictionary.cs
- ACL.cs
- followingquery.cs
- AppSettingsExpressionBuilder.cs
- controlskin.cs
- WizardSideBarListControlItemEventArgs.cs
- CmsInterop.cs
- BamlTreeMap.cs
- SafeNativeMethodsOther.cs
- WebPartCloseVerb.cs
- WindowsListView.cs
- RegisteredDisposeScript.cs
- DataControlPagerLinkButton.cs
- PartitionedDataSource.cs
- ReadOnlyHierarchicalDataSourceView.cs
- OLEDB_Util.cs
- MenuAdapter.cs
- HttpResponseWrapper.cs
- RestHandler.cs
- LinearGradientBrush.cs
- XmlTextAttribute.cs
- NameValueConfigurationElement.cs
- ConstrainedDataObject.cs
- DbParameterCollectionHelper.cs
- WebBrowserNavigatingEventHandler.cs
- TaiwanLunisolarCalendar.cs