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
- SeverityFilter.cs
- XamlWrapperReaders.cs
- DataListItem.cs
- DataRelationCollection.cs
- XmlSerializerAssemblyAttribute.cs
- GPRECTF.cs
- Guid.cs
- StateMachineHelpers.cs
- ErrorLog.cs
- ScrollChangedEventArgs.cs
- sqlstateclientmanager.cs
- WebPartHeaderCloseVerb.cs
- TextServicesDisplayAttributePropertyRanges.cs
- SystemResourceKey.cs
- MemberJoinTreeNode.cs
- PanelContainerDesigner.cs
- PropertyTabChangedEvent.cs
- _ConnectionGroup.cs
- RelatedImageListAttribute.cs
- DataException.cs
- DbParameterHelper.cs
- ClientScriptManagerWrapper.cs
- IPGlobalProperties.cs
- DecodeHelper.cs
- ShapeTypeface.cs
- ResourceAttributes.cs
- Light.cs
- WebPartManager.cs
- XPathNode.cs
- PublisherMembershipCondition.cs
- RegexStringValidatorAttribute.cs
- ScrollBarAutomationPeer.cs
- ProfileGroupSettings.cs
- EnterpriseServicesHelper.cs
- LogicalExpr.cs
- DataGridSortingEventArgs.cs
- PartialClassGenerationTaskInternal.cs
- Internal.cs
- SqlDependency.cs
- XmlSchemaSimpleTypeRestriction.cs
- WebPartZone.cs
- KeyValueConfigurationCollection.cs
- ApplicationBuildProvider.cs
- Padding.cs
- CommonXSendMessage.cs
- DummyDataSource.cs
- UnsafeNativeMethods.cs
- VisualCollection.cs
- AppliedDeviceFiltersEditor.cs
- ConfigurationManagerInternalFactory.cs
- Utils.cs
- HandlerBase.cs
- DesignerForm.cs
- GCHandleCookieTable.cs
- PersonalizationProviderCollection.cs
- WebBrowserSiteBase.cs
- FixedPage.cs
- DataServiceRequest.cs
- Operand.cs
- HtmlMobileTextWriter.cs
- SiteMapDataSource.cs
- ToggleProviderWrapper.cs
- FrameworkContentElement.cs
- NativeCppClassAttribute.cs
- ImageSourceValueSerializer.cs
- DataBindEngine.cs
- OdbcConnectionString.cs
- SourceLineInfo.cs
- DataBindingList.cs
- AnyAllSearchOperator.cs
- StyleTypedPropertyAttribute.cs
- MultiTrigger.cs
- GeneralTransform2DTo3DTo2D.cs
- PersonalizationStateInfoCollection.cs
- ServiceNameCollection.cs
- HiddenFieldPageStatePersister.cs
- DeclarativeCatalogPart.cs
- ValidationErrorCollection.cs
- ScriptResourceAttribute.cs
- HtmlTableCell.cs
- UrlEncodedParameterWriter.cs
- InlineCategoriesDocument.cs
- AmbientEnvironment.cs
- FieldToken.cs
- SelectionEditingBehavior.cs
- CellPartitioner.cs
- XsltException.cs
- PriorityQueue.cs
- CompressStream.cs
- UIElementParaClient.cs
- StorageMappingItemCollection.cs
- ResourceSet.cs
- ReaderWriterLock.cs
- RangeBaseAutomationPeer.cs
- EntitySetDataBindingList.cs
- PkcsMisc.cs
- objectquery_tresulttype.cs
- MenuItemBindingCollection.cs
- Odbc32.cs
- ChtmlCommandAdapter.cs