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
- AuditLog.cs
- FrameDimension.cs
- TreeViewItemAutomationPeer.cs
- XAMLParseException.cs
- Exception.cs
- ObjectResult.cs
- RelationshipWrapper.cs
- CompiledRegexRunnerFactory.cs
- Int64AnimationBase.cs
- WebPartExportVerb.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- NumericUpDownAccelerationCollection.cs
- RMEnrollmentPage2.cs
- PackWebRequest.cs
- CreateUserWizard.cs
- Pair.cs
- SpellCheck.cs
- XsltContext.cs
- ImageKeyConverter.cs
- StubHelpers.cs
- OperationCanceledException.cs
- X500Name.cs
- DataTemplateSelector.cs
- RemoteWebConfigurationHostServer.cs
- CriticalExceptions.cs
- WinInetCache.cs
- XLinq.cs
- ParserOptions.cs
- WorkflowRuntimeSection.cs
- Inline.cs
- BufferModeSettings.cs
- HwndAppCommandInputProvider.cs
- InsufficientMemoryException.cs
- ObjectStorage.cs
- OdbcPermission.cs
- CollectionBase.cs
- HtmlElementCollection.cs
- InstancePersistenceCommand.cs
- RectangleConverter.cs
- RetrieveVirtualItemEventArgs.cs
- XmlSchemaRedefine.cs
- ScheduleChanges.cs
- ApplicationServicesHostFactory.cs
- StringWriter.cs
- _TLSstream.cs
- PageResolution.cs
- RtfToXamlLexer.cs
- DiscoveryOperationContextExtension.cs
- PropertyDescriptorCollection.cs
- Msmq4SubqueuePoisonHandler.cs
- FastEncoderWindow.cs
- ToolStripItem.cs
- ReachPrintTicketSerializerAsync.cs
- MoveSizeWinEventHandler.cs
- RoleService.cs
- IdentityModelDictionary.cs
- SqlTypesSchemaImporter.cs
- ResourceManager.cs
- OleDbMetaDataFactory.cs
- ErrorWrapper.cs
- HotSpot.cs
- CompilerTypeWithParams.cs
- TextSelectionHelper.cs
- ResetableIterator.cs
- CreateRefExpr.cs
- OdbcRowUpdatingEvent.cs
- WCFBuildProvider.cs
- RadioButton.cs
- PaintValueEventArgs.cs
- IChannel.cs
- UnescapedXmlDiagnosticData.cs
- PopOutPanel.cs
- OleDbFactory.cs
- UserPersonalizationStateInfo.cs
- EntityConnection.cs
- X509Utils.cs
- SQLBytesStorage.cs
- WebConfigurationManager.cs
- Condition.cs
- MissingMethodException.cs
- SqlPersonalizationProvider.cs
- HighlightVisual.cs
- EFColumnProvider.cs
- InstanceNormalEvent.cs
- FrugalMap.cs
- PrintingPermission.cs
- TextWriterTraceListener.cs
- AspNetPartialTrustHelpers.cs
- ManagementException.cs
- CacheDependency.cs
- TransformConverter.cs
- X509UI.cs
- SpanIndex.cs
- QueryContinueDragEvent.cs
- ByteAnimationBase.cs
- CreateUserWizardStep.cs
- Rule.cs
- DesigntimeLicenseContextSerializer.cs
- ConfigXmlComment.cs
- MarkupCompiler.cs