Code:
/ FX-1434 / FX-1434 / 1.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
- DotNetATv1WindowsLogEntryDeserializer.cs
- SqlProcedureAttribute.cs
- DataServiceQuery.cs
- TimeSpanSecondsConverter.cs
- MethodExpr.cs
- VisualSerializer.cs
- AttributeEmitter.cs
- NotifyIcon.cs
- ObjectHelper.cs
- LocationUpdates.cs
- codemethodreferenceexpression.cs
- GeneralTransformCollection.cs
- UnsettableComboBox.cs
- Rules.cs
- MetadataArtifactLoaderCompositeResource.cs
- EventDescriptor.cs
- Overlapped.cs
- WebBrowser.cs
- SqlException.cs
- Asn1IntegerConverter.cs
- columnmapfactory.cs
- BinaryNode.cs
- FlowLayoutPanel.cs
- TextTreeDeleteContentUndoUnit.cs
- XmlSchemaAll.cs
- EntityDataSourceMemberPath.cs
- _BufferOffsetSize.cs
- LiteralSubsegment.cs
- Bidi.cs
- TraceHwndHost.cs
- NullableDecimalMinMaxAggregationOperator.cs
- NullableLongMinMaxAggregationOperator.cs
- MenuItemCollection.cs
- WindowsFormsLinkLabel.cs
- WarningException.cs
- BaseTemplateBuildProvider.cs
- DigestTraceRecordHelper.cs
- Stylus.cs
- EndpointIdentity.cs
- ConditionalAttribute.cs
- Form.cs
- NumberSubstitution.cs
- UpdatePanelTrigger.cs
- Attributes.cs
- ResourceExpressionBuilder.cs
- WorkflowDefinitionDispenser.cs
- HttpCacheVary.cs
- MsmqElementBase.cs
- TypeSystemHelpers.cs
- ServiceChannelManager.cs
- CompiledIdentityConstraint.cs
- WorkflowService.cs
- _SslStream.cs
- CommandValueSerializer.cs
- AmbientLight.cs
- CollectionConverter.cs
- XmlWhitespace.cs
- SqlDataAdapter.cs
- SecurityKeyIdentifier.cs
- CodeExpressionStatement.cs
- WebGetAttribute.cs
- SystemDiagnosticsSection.cs
- MetaModel.cs
- cache.cs
- QilLiteral.cs
- HtmlUtf8RawTextWriter.cs
- RootBrowserWindowAutomationPeer.cs
- SelectionEditingBehavior.cs
- XPathDocumentIterator.cs
- UncommonField.cs
- CodeParameterDeclarationExpression.cs
- ResourceReferenceKeyNotFoundException.cs
- SeverityFilter.cs
- ClusterUtils.cs
- QualificationDataAttribute.cs
- StringUtil.cs
- BinaryUtilClasses.cs
- XamlDesignerSerializationManager.cs
- XomlCompilerError.cs
- PropertyValueChangedEvent.cs
- Command.cs
- LightweightCodeGenerator.cs
- InlineObject.cs
- TableHeaderCell.cs
- MatrixAnimationUsingKeyFrames.cs
- SequentialActivityDesigner.cs
- COM2EnumConverter.cs
- FixedLineResult.cs
- CmsInterop.cs
- LayoutSettings.cs
- SelfIssuedAuthProofToken.cs
- TextViewBase.cs
- EncryptedData.cs
- UserPersonalizationStateInfo.cs
- SafeSecurityHandles.cs
- SynchronousReceiveElement.cs
- DescendantOverDescendantQuery.cs
- RenderTargetBitmap.cs
- DetailsViewUpdateEventArgs.cs
- DataSourceCacheDurationConverter.cs