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
- AvTraceDetails.cs
- WebRequestModuleElementCollection.cs
- followingsibling.cs
- ImportContext.cs
- ListViewGroupItemCollection.cs
- RowsCopiedEventArgs.cs
- FileDialogCustomPlacesCollection.cs
- MatrixUtil.cs
- BroadcastEventHelper.cs
- Point.cs
- Marshal.cs
- TypedServiceChannelBuilder.cs
- PeerCollaborationPermission.cs
- MetadataItemEmitter.cs
- DataGrid.cs
- ElementUtil.cs
- CodeTypeMemberCollection.cs
- NameValueConfigurationCollection.cs
- TypeCodeDomSerializer.cs
- XPathMessageFilterElementCollection.cs
- SettingsSavedEventArgs.cs
- x509utils.cs
- GatewayIPAddressInformationCollection.cs
- CoTaskMemHandle.cs
- SqlClientFactory.cs
- TypeDependencyAttribute.cs
- ConditionalAttribute.cs
- DialogResultConverter.cs
- StorageMappingItemLoader.cs
- Triangle.cs
- ContextItem.cs
- ServiceDescriptionReflector.cs
- FormsAuthenticationUserCollection.cs
- EntityDataSourceWrapperCollection.cs
- XmlSerializationGeneratedCode.cs
- ToolboxItemFilterAttribute.cs
- DbgCompiler.cs
- MetricEntry.cs
- LineGeometry.cs
- QualifiedCellIdBoolean.cs
- localization.cs
- SmiTypedGetterSetter.cs
- XmlSerializationWriter.cs
- OrthographicCamera.cs
- Rectangle.cs
- WeakHashtable.cs
- QilStrConcatenator.cs
- DataIdProcessor.cs
- ProcessHostServerConfig.cs
- querybuilder.cs
- DynamicDocumentPaginator.cs
- control.ime.cs
- NativeObjectSecurity.cs
- SQLGuid.cs
- DetailsViewDeleteEventArgs.cs
- DbConnectionStringBuilder.cs
- FixedSOMSemanticBox.cs
- BamlCollectionHolder.cs
- InputLanguage.cs
- Selector.cs
- OpenTypeCommon.cs
- DbDataAdapter.cs
- SourceSwitch.cs
- ThemeableAttribute.cs
- Bits.cs
- AnchoredBlock.cs
- ObjectStateEntry.cs
- BorderSidesEditor.cs
- IsolatedStoragePermission.cs
- StreamReader.cs
- SamlConstants.cs
- PersonalizablePropertyEntry.cs
- SmtpClient.cs
- Brush.cs
- ScriptManagerProxy.cs
- Win32SafeHandles.cs
- OwnerDrawPropertyBag.cs
- HttpModuleAction.cs
- TextContainerChangeEventArgs.cs
- Literal.cs
- SubMenuStyleCollection.cs
- ContractDescription.cs
- HostedNamedPipeTransportManager.cs
- ThousandthOfEmRealDoubles.cs
- TypeSemantics.cs
- RotateTransform3D.cs
- XmlAttributeOverrides.cs
- DesignerActionMethodItem.cs
- NullExtension.cs
- XmlBindingWorker.cs
- StylusPointCollection.cs
- DataSetSchema.cs
- NullableBoolConverter.cs
- _HelperAsyncResults.cs
- MergeFilterQuery.cs
- ToolStripDesignerAvailabilityAttribute.cs
- ParserHooks.cs
- OdbcUtils.cs
- UserControlBuildProvider.cs
- NullableBoolConverter.cs