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
- SettingsSavedEventArgs.cs
- FontStyles.cs
- DataIdProcessor.cs
- MethodSet.cs
- XmlText.cs
- VirtualDirectoryMapping.cs
- XsdBuildProvider.cs
- HttpWebRequest.cs
- View.cs
- AbstractDataSvcMapFileLoader.cs
- DesignerActionVerbList.cs
- WindowsGraphicsCacheManager.cs
- DataListCommandEventArgs.cs
- EdmSchemaAttribute.cs
- WindowsGraphicsWrapper.cs
- DrawingGroup.cs
- SqlUtil.cs
- Span.cs
- ObjectKeyFrameCollection.cs
- MemberRelationshipService.cs
- BinaryMethodMessage.cs
- UserNamePasswordValidator.cs
- ObjectViewListener.cs
- DebugInfoGenerator.cs
- documentsequencetextview.cs
- PropertyMap.cs
- ConnectivityStatus.cs
- ImageMap.cs
- LocatorGroup.cs
- TypeAccessException.cs
- CounterSetInstance.cs
- ContractUtils.cs
- UnsafeNativeMethods.cs
- Keyboard.cs
- ChildrenQuery.cs
- TreeChangeInfo.cs
- Floater.cs
- WindowsComboBox.cs
- RelationshipManager.cs
- ExtendedPropertiesHandler.cs
- _SSPISessionCache.cs
- InputDevice.cs
- ProxyHelper.cs
- HTMLTagNameToTypeMapper.cs
- Int16AnimationUsingKeyFrames.cs
- WebPartManagerInternals.cs
- BinaryParser.cs
- SymmetricAlgorithm.cs
- Symbol.cs
- ValidatorAttribute.cs
- HandlerFactoryWrapper.cs
- SyndicationDeserializer.cs
- LongCountAggregationOperator.cs
- DBCommandBuilder.cs
- ToolStripLocationCancelEventArgs.cs
- EncryptedPackage.cs
- WebResourceUtil.cs
- RelativeSource.cs
- CryptoConfig.cs
- QueueException.cs
- RelationshipEndCollection.cs
- TimeSpan.cs
- ThreadStateException.cs
- SelectionPatternIdentifiers.cs
- SAPIEngineTypes.cs
- LinqDataSourceUpdateEventArgs.cs
- CellTreeNode.cs
- RTLAwareMessageBox.cs
- PenThreadWorker.cs
- XmlAutoDetectWriter.cs
- CodeDOMUtility.cs
- SecurityHeader.cs
- DataGridItemAttachedStorage.cs
- LinearGradientBrush.cs
- KeyMatchBuilder.cs
- GenerateTemporaryAssemblyTask.cs
- DataObjectEventArgs.cs
- SpellerStatusTable.cs
- SQLBoolean.cs
- OutOfMemoryException.cs
- RtfNavigator.cs
- DictationGrammar.cs
- DispatcherEventArgs.cs
- XmlSchemaExternal.cs
- OperationInfoBase.cs
- FilteredDataSetHelper.cs
- UserPersonalizationStateInfo.cs
- _LocalDataStore.cs
- ProviderIncompatibleException.cs
- ObjectView.cs
- Assert.cs
- WebHttpDispatchOperationSelector.cs
- InputReportEventArgs.cs
- ApplicationInfo.cs
- SiteMapProvider.cs
- ASCIIEncoding.cs
- MimeTypePropertyAttribute.cs
- WebPartConnectionsDisconnectVerb.cs
- ActivityContext.cs
- TextShapeableCharacters.cs