Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / CompMod / System / ComponentModel / Design / Serialization / ExpressionTable.cs / 1 / ExpressionTable.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.ComponentModel.Design.Serialization { using Microsoft.CSharp; using System; using System.CodeDom; using System.CodeDom.Compiler; using System.Collections; using System.Diagnostics; using System.IO; ////// An expression table allows a lookup from expression to object and object to /// expression. It is similar to the serialization manager's GetName and GetInstance /// methods, only with rich code expressions. /// internal sealed class ExpressionTable { private Hashtable _expressions; private Hashtable Expressions { get { if (_expressions == null) { _expressions = new Hashtable(new ReferenceComparer()); } return _expressions; } } internal void SetExpression(object value, CodeExpression expression, bool isPreset) { Expressions[value] = new ExpressionInfo(expression, isPreset); } internal CodeExpression GetExpression(object value) { CodeExpression expression = null; ExpressionInfo info = Expressions[value] as ExpressionInfo; if (info != null) { expression = info.Expression; } return expression; } internal bool ContainsPresetExpression(object value) { ExpressionInfo info = Expressions[value] as ExpressionInfo; if (info != null) { return info.IsPreset; } else { return false; } } private class ExpressionInfo { CodeExpression _expression; bool _isPreset; internal ExpressionInfo(CodeExpression expression, bool isPreset) { _expression = expression; _isPreset = isPreset; } internal CodeExpression Expression { get { return _expression; } } internal bool IsPreset { get { return _isPreset; } } } private class ReferenceComparer : IEqualityComparer { bool IEqualityComparer.Equals(object x, object y) { return object.ReferenceEquals(x, y); } int IEqualityComparer.GetHashCode(object x) { if (x != null) { return x.GetHashCode(); } return 0; } } } } // 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
- Config.cs
- FontCollection.cs
- JournalEntry.cs
- WriteTimeStream.cs
- WebPartCatalogCloseVerb.cs
- DbConnectionPoolGroupProviderInfo.cs
- ScopelessEnumAttribute.cs
- WorkflowExecutor.cs
- Trigger.cs
- IBuiltInEvidence.cs
- HtmlToClrEventProxy.cs
- Win32SafeHandles.cs
- StubHelpers.cs
- GridViewDeletedEventArgs.cs
- FixedStringLookup.cs
- TextEditorDragDrop.cs
- XmlSchemaSimpleTypeUnion.cs
- StateMachine.cs
- SplineQuaternionKeyFrame.cs
- BrowserTree.cs
- Baml2006KnownTypes.cs
- SQLMembershipProvider.cs
- DbCommandDefinition.cs
- KeyManager.cs
- SafeEventHandle.cs
- EntityDataSourceSelectedEventArgs.cs
- DetailsViewActionList.cs
- dsa.cs
- CacheOutputQuery.cs
- TargetFrameworkUtil.cs
- COM2ColorConverter.cs
- OleDbInfoMessageEvent.cs
- XmlSchemaAnnotated.cs
- ComponentDispatcherThread.cs
- ReaderContextStackData.cs
- SignatureResourcePool.cs
- SamlAssertionKeyIdentifierClause.cs
- NavigatorInvalidBodyAccessException.cs
- QuaternionConverter.cs
- ImageList.cs
- querybuilder.cs
- sitestring.cs
- MetadataAssemblyHelper.cs
- CodeSnippetCompileUnit.cs
- RouteValueExpressionBuilder.cs
- isolationinterop.cs
- MaterialGroup.cs
- OdbcEnvironmentHandle.cs
- XmlAnyAttributeAttribute.cs
- ControlParser.cs
- SynchronizationLockException.cs
- EntityContainerRelationshipSetEnd.cs
- SmiContext.cs
- DataProviderNameConverter.cs
- CompilationUnit.cs
- ServiceSecurityAuditElement.cs
- GZipUtils.cs
- XomlCompilerError.cs
- SafeNativeMethods.cs
- COM2EnumConverter.cs
- _BufferOffsetSize.cs
- ScrollContentPresenter.cs
- RecognizedWordUnit.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- FocusChangedEventArgs.cs
- TextureBrush.cs
- odbcmetadatacolumnnames.cs
- CollectionViewGroup.cs
- SQLDecimal.cs
- FormatConvertedBitmap.cs
- XPathNodePointer.cs
- DecimalStorage.cs
- SqlUserDefinedTypeAttribute.cs
- ConstraintCollection.cs
- typedescriptorpermissionattribute.cs
- XmlAttribute.cs
- ReaderOutput.cs
- unsafenativemethodsother.cs
- BooleanFunctions.cs
- UpdatePanel.cs
- FacetChecker.cs
- TextSerializer.cs
- cookieexception.cs
- FixedTextBuilder.cs
- ArraySet.cs
- Oid.cs
- WebSysDescriptionAttribute.cs
- UIElementHelper.cs
- WebPartUserCapability.cs
- ImageBrush.cs
- HttpHandlerAction.cs
- RectAnimationClockResource.cs
- ProtectedConfigurationProviderCollection.cs
- JsonSerializer.cs
- HttpResponseHeader.cs
- CodeCatchClause.cs
- ToolStripSeparatorRenderEventArgs.cs
- SymLanguageType.cs
- TextCompositionManager.cs
- SeekStoryboard.cs