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
- ComponentEditorPage.cs
- LinqDataSourceHelper.cs
- CodeTypeReferenceExpression.cs
- WebPartUtil.cs
- Table.cs
- OneOfTypeConst.cs
- QueryExpr.cs
- ClientTargetCollection.cs
- AudioFileOut.cs
- DescendantOverDescendantQuery.cs
- XmlAttribute.cs
- StringResourceManager.cs
- JournalEntry.cs
- _FixedSizeReader.cs
- XmlSchemaType.cs
- MDIClient.cs
- _TransmitFileOverlappedAsyncResult.cs
- Currency.cs
- StronglyTypedResourceBuilder.cs
- DesignerTransaction.cs
- CommandSet.cs
- DataServicePagingProviderWrapper.cs
- Query.cs
- HMACSHA512.cs
- ConstructorBuilder.cs
- MetadataPropertyCollection.cs
- ThemeConfigurationDialog.cs
- XmlEventCache.cs
- URIFormatException.cs
- PersonalizationProviderHelper.cs
- CallbackValidator.cs
- IxmlLineInfo.cs
- ArrayElementGridEntry.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- TreeViewImageIndexConverter.cs
- WebPartConnection.cs
- ListItemsCollectionEditor.cs
- PageFunction.cs
- ImageField.cs
- StringDictionary.cs
- CalendarDay.cs
- VectorAnimationUsingKeyFrames.cs
- wgx_commands.cs
- ApplicationProxyInternal.cs
- AnchoredBlock.cs
- TransactionFilter.cs
- Helper.cs
- SmtpNtlmAuthenticationModule.cs
- Select.cs
- XmlWriter.cs
- SerialPort.cs
- ConnectionPoint.cs
- ClonableStack.cs
- CrossAppDomainChannel.cs
- Visual3DCollection.cs
- WorkflowRuntimeEndpoint.cs
- Pen.cs
- ConfigurationProperty.cs
- ManagedFilter.cs
- WindowsTooltip.cs
- DebugView.cs
- SqlTransaction.cs
- GraphicsState.cs
- StatusBarPanel.cs
- ServiceModelSecurityTokenTypes.cs
- Stroke2.cs
- RetriableClipboard.cs
- ModelEditingScope.cs
- XPathBuilder.cs
- CompiledXpathExpr.cs
- AvTraceDetails.cs
- TypeSchema.cs
- HttpInputStream.cs
- BitStream.cs
- EventLogException.cs
- XmlSchemaType.cs
- DropShadowBitmapEffect.cs
- KeyGestureValueSerializer.cs
- ObjectDataSourceStatusEventArgs.cs
- MetadataItemEmitter.cs
- MemberNameValidator.cs
- ConfigXmlCDataSection.cs
- LinearQuaternionKeyFrame.cs
- RegisteredExpandoAttribute.cs
- KeyValueSerializer.cs
- SystemIPInterfaceStatistics.cs
- RepeatInfo.cs
- IndexerHelper.cs
- FontFamily.cs
- ListSortDescriptionCollection.cs
- LoginCancelEventArgs.cs
- EventProperty.cs
- TextTreeText.cs
- AmbiguousMatchException.cs
- JsonQNameDataContract.cs
- MetadataStore.cs
- ConstraintCollection.cs
- FileDialog.cs
- FormViewPagerRow.cs
- Stream.cs