Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / SymbolUsageManager.cs / 1305376 / SymbolUsageManager.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; namespace System.Data.SqlClient.SqlGen { ////// Used for wrapping a boolean value as an object. /// internal class BoolWrapper { internal bool Value {get; set;} internal BoolWrapper() { this.Value = false; } } ////// Tracks the usage of symbols. /// When registering a symbol with the usage manager if an input symbol is specified, /// than the usage of the two is 'connected' - if one ever gets marked as used, /// the other one becomes 'used' too. /// internal class SymbolUsageManager { private readonly DictionaryoptionalColumnUsage = new Dictionary (); internal bool ContainsKey(Symbol key) { return optionalColumnUsage.ContainsKey(key); } internal bool TryGetValue(Symbol key, out bool value) { BoolWrapper wrapper; if (optionalColumnUsage.TryGetValue(key, out wrapper)) { value = wrapper.Value; return true; } value = false; return false; } internal void Add(Symbol sourceSymbol, Symbol symbolToAdd) { BoolWrapper wrapper; if (sourceSymbol == null || !this.optionalColumnUsage.TryGetValue(sourceSymbol, out wrapper)) { wrapper = new BoolWrapper(); } this.optionalColumnUsage.Add(symbolToAdd, wrapper); } internal void MarkAsUsed(Symbol key) { if (optionalColumnUsage.ContainsKey(key)) { optionalColumnUsage[key].Value = true; } } internal bool IsUsed(Symbol key) { return optionalColumnUsage[key].Value; } } } // 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
- ImageClickEventArgs.cs
- EventSourceCreationData.cs
- SystemDropShadowChrome.cs
- BitmapFrameDecode.cs
- RsaEndpointIdentity.cs
- Geometry.cs
- SchemaNotation.cs
- ParameterBinding.cs
- WriteTimeStream.cs
- PropertyInformationCollection.cs
- GPPOINTF.cs
- ActiveDesignSurfaceEvent.cs
- ResponseBodyWriter.cs
- BrowserTree.cs
- Funcletizer.cs
- AppDomainProtocolHandler.cs
- SmiGettersStream.cs
- ForceCopyBuildProvider.cs
- StylusPointPropertyInfoDefaults.cs
- ReservationNotFoundException.cs
- WebEvents.cs
- GridItem.cs
- WindowCollection.cs
- DataView.cs
- EntityCommandDefinition.cs
- Trace.cs
- PatternMatcher.cs
- Point4DValueSerializer.cs
- WebPartCatalogCloseVerb.cs
- BitmapSource.cs
- SubpageParaClient.cs
- CollectionEditVerbManager.cs
- PrimitiveXmlSerializers.cs
- DictionaryTraceRecord.cs
- ImpersonateTokenRef.cs
- XmlSchemaSimpleType.cs
- PersonalizablePropertyEntry.cs
- InteropTrackingRecord.cs
- PingOptions.cs
- ClientBuildManager.cs
- SubclassTypeValidatorAttribute.cs
- LocalizabilityAttribute.cs
- SecurityPolicySection.cs
- ZipIOLocalFileHeader.cs
- TextEditorDragDrop.cs
- activationcontext.cs
- XmlILAnnotation.cs
- CustomLineCap.cs
- storepermission.cs
- FontStyles.cs
- TextElementEnumerator.cs
- WebHeaderCollection.cs
- ImageMapEventArgs.cs
- DbConnectionOptions.cs
- ObjectQueryExecutionPlan.cs
- Rect.cs
- Exceptions.cs
- FontCacheUtil.cs
- Int16Converter.cs
- LocalizedNameDescriptionPair.cs
- ParameterBuilder.cs
- TextSelection.cs
- OdbcConnectionHandle.cs
- ClientTargetCollection.cs
- ListViewCommandEventArgs.cs
- ProfileBuildProvider.cs
- WebPartExportVerb.cs
- HitTestWithPointDrawingContextWalker.cs
- SafeCryptContextHandle.cs
- ItemsControl.cs
- SqlDataSourceEnumerator.cs
- AsymmetricSignatureFormatter.cs
- NetMsmqSecurityElement.cs
- TrackBarRenderer.cs
- DetailsViewDeletedEventArgs.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- NumberAction.cs
- ArgumentDesigner.xaml.cs
- PixelShader.cs
- InstalledFontCollection.cs
- CheckBox.cs
- DSASignatureDeformatter.cs
- NativeMethods.cs
- XhtmlCssHandler.cs
- MultiPropertyDescriptorGridEntry.cs
- NameValueCollection.cs
- MimeWriter.cs
- AttributeQuery.cs
- KeyGesture.cs
- HebrewNumber.cs
- SelectionPattern.cs
- TransformDescriptor.cs
- MapPathBasedVirtualPathProvider.cs
- EventSchemaTraceListener.cs
- DefaultWorkflowSchedulerService.cs
- GridViewDeletedEventArgs.cs
- SecurityState.cs
- ContractListAdapter.cs
- BasicExpressionVisitor.cs
- DocumentSchemaValidator.cs