Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / ImageCollectionCodeDomSerializer.cs / 1 / ImageCollectionCodeDomSerializer.cs
namespace System.Windows.Forms.Design { using System.Design; using System.CodeDom; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Diagnostics; using System.Reflection; using System.ComponentModel.Design.Serialization; using System.Collections.Specialized; using System.Windows.Forms; ////// /// This serializer serializes string dictionaries. /// // public class ImageListCodeDomSerializer : CodeDomSerializer { ////// /// This method takes a CodeDomObject and deserializes into a real object. /// We don't do anything here. /// public override object Deserialize(IDesignerSerializationManager manager, object codeObject) { // if (manager == null || codeObject == null) { throw new ArgumentNullException( manager == null ? "manager" : "codeObject"); } // Find our base class's serializer. // CodeDomSerializer serializer = (CodeDomSerializer)manager.GetSerializer(typeof(Component), typeof(CodeDomSerializer)); if (serializer == null) { Debug.Fail("Unable to find a CodeDom serializer for 'Component'. Has someone tampered with the serialization providers?"); return null; } return serializer.Deserialize(manager, codeObject); } ////// /// Serializes the given object into a CodeDom object. /// public override object Serialize(IDesignerSerializationManager manager, object value) { CodeDomSerializer baseSerializer = (CodeDomSerializer)manager.GetSerializer(typeof(ImageList).BaseType, typeof(CodeDomSerializer)); object codeObject = baseSerializer.Serialize(manager, value); ImageList imageList = value as ImageList; if (imageList != null) { StringCollection imageKeys = imageList.Images.Keys; if (codeObject is CodeStatementCollection) { CodeExpression imageListObject = GetExpression(manager, value); if (imageListObject != null) { CodeExpression imageListImagesProperty = new CodePropertyReferenceExpression(imageListObject, "Images"); if (imageListImagesProperty != null) { for (int i = 0; i < imageKeys.Count; i++) { if ((imageKeys[i] != null) || (imageKeys[i].Length != 0)){ CodeMethodInvokeExpression setNameMethodCall = new CodeMethodInvokeExpression(imageListImagesProperty, "SetKeyName", new CodeExpression [] { new CodePrimitiveExpression(i), // SetKeyName(int, new CodePrimitiveExpression(imageKeys[i]) // string); }); ((CodeStatementCollection)codeObject).Add(setNameMethodCall); } } } } } } return codeObject; } } // Class ImageListCodeDomSerializer } // Namespace System.Windows.Forms.Design // 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
- FormsAuthenticationModule.cs
- EventDescriptor.cs
- RelationshipDetailsCollection.cs
- ScrollData.cs
- SizeF.cs
- QueryCacheEntry.cs
- DictionaryGlobals.cs
- basevalidator.cs
- HebrewNumber.cs
- RowToParametersTransformer.cs
- FieldNameLookup.cs
- SerializationObjectManager.cs
- StylusPoint.cs
- GroupQuery.cs
- XsltException.cs
- BufferedGraphicsManager.cs
- UnsafeNativeMethods.cs
- Predicate.cs
- ReadWriteSpinLock.cs
- EpmSyndicationContentSerializer.cs
- DataGridColumnHeader.cs
- TTSVoice.cs
- FilterEventArgs.cs
- WebPartMinimizeVerb.cs
- LowerCaseStringConverter.cs
- VectorCollection.cs
- TextFormatterHost.cs
- MethodBuilderInstantiation.cs
- ConfigurationManagerHelper.cs
- DebugManager.cs
- IndicFontClient.cs
- OdbcConnection.cs
- DBCSCodePageEncoding.cs
- XsdDataContractImporter.cs
- Regex.cs
- PersonalizationState.cs
- InstalledFontCollection.cs
- FileRecordSequenceHelper.cs
- FormConverter.cs
- StoragePropertyMapping.cs
- Closure.cs
- DLinqColumnProvider.cs
- FunctionCommandText.cs
- XamlClipboardData.cs
- Converter.cs
- DynamicPropertyReader.cs
- LineBreakRecord.cs
- RegexReplacement.cs
- DependencyPropertyDescriptor.cs
- LongCountAggregationOperator.cs
- RoutedEvent.cs
- ProfileEventArgs.cs
- VirtualizingStackPanel.cs
- DateRangeEvent.cs
- XmlEventCache.cs
- ListItemViewAttribute.cs
- WorkflowService.cs
- SchemaImporterExtension.cs
- CodeArgumentReferenceExpression.cs
- IgnoreFlushAndCloseStream.cs
- DashStyle.cs
- MultiTrigger.cs
- HostedImpersonationContext.cs
- DataServiceQueryOfT.cs
- input.cs
- ProcessInfo.cs
- AssemblyNameProxy.cs
- precedingsibling.cs
- CustomErrorsSection.cs
- peersecurityelement.cs
- CorePropertiesFilter.cs
- EndPoint.cs
- _Events.cs
- SystemBrushes.cs
- WebPartTransformer.cs
- ZoomingMessageFilter.cs
- TimelineGroup.cs
- WorkItem.cs
- HtmlAnchor.cs
- PrimitiveCodeDomSerializer.cs
- AssemblyGen.cs
- CodeDelegateCreateExpression.cs
- ListViewTableRow.cs
- TypefaceCollection.cs
- AnnotationAdorner.cs
- BevelBitmapEffect.cs
- TableCellAutomationPeer.cs
- ToolStripSeparatorRenderEventArgs.cs
- UniformGrid.cs
- NetworkInformationPermission.cs
- SrgsGrammarCompiler.cs
- CustomErrorsSection.cs
- AssemblyAttributesGoHere.cs
- SecurityRuntime.cs
- TextBox.cs
- ObjectSpanRewriter.cs
- ToolStripRenderer.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- ToolStripItem.cs
- CompositeScriptReferenceEventArgs.cs