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
- ChildDocumentBlock.cs
- ForEachDesigner.xaml.cs
- StrokeCollectionDefaultValueFactory.cs
- HintTextConverter.cs
- Base64Decoder.cs
- rsa.cs
- StaticFileHandler.cs
- ListChangedEventArgs.cs
- XmlLangPropertyAttribute.cs
- Fault.cs
- BufferedStream.cs
- RegexRunner.cs
- ITextView.cs
- activationcontext.cs
- CannotUnloadAppDomainException.cs
- XmlDocumentType.cs
- NamedPermissionSet.cs
- LabelEditEvent.cs
- COM2AboutBoxPropertyDescriptor.cs
- SystemIcmpV4Statistics.cs
- EdgeProfileValidation.cs
- BitmapFrameEncode.cs
- DomNameTable.cs
- ProgressBar.cs
- VersionedStream.cs
- HttpCookieCollection.cs
- Input.cs
- EdmConstants.cs
- PrimitiveXmlSerializers.cs
- ActivityAction.cs
- MarkupCompilePass1.cs
- CoTaskMemSafeHandle.cs
- IFlowDocumentViewer.cs
- SqlCacheDependencySection.cs
- ProcessStartInfo.cs
- Rotation3D.cs
- SafeThemeHandle.cs
- VisualStateChangedEventArgs.cs
- CodeIterationStatement.cs
- IRCollection.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- BamlBinaryReader.cs
- ProcessThreadCollection.cs
- XmlBindingWorker.cs
- DynamicPropertyHolder.cs
- StackBuilderSink.cs
- CreateUserErrorEventArgs.cs
- ImageMap.cs
- Latin1Encoding.cs
- Graphics.cs
- MetaModel.cs
- MenuStrip.cs
- ParentQuery.cs
- listitem.cs
- ResolveDuplex11AsyncResult.cs
- XslCompiledTransform.cs
- ClockGroup.cs
- MulticastDelegate.cs
- ApplicationServiceManager.cs
- RemoteWebConfigurationHost.cs
- TableDetailsRow.cs
- HttpCacheParams.cs
- FunctionParameter.cs
- updateconfighost.cs
- DataGridItemCollection.cs
- XmlAttributeCollection.cs
- RecognizerInfo.cs
- ArgumentsParser.cs
- XmlSchemaAttributeGroupRef.cs
- DelegateArgumentReference.cs
- Int32Animation.cs
- DaylightTime.cs
- XmlEncodedRawTextWriter.cs
- Point4D.cs
- GridViewRowEventArgs.cs
- MonthChangedEventArgs.cs
- InvalidCastException.cs
- WindowsFormsSynchronizationContext.cs
- EncryptedType.cs
- DiagnosticStrings.cs
- ContextMenuService.cs
- Renderer.cs
- PrimitiveType.cs
- SectionInformation.cs
- CompilationRelaxations.cs
- ExponentialEase.cs
- EncryptedData.cs
- tooltip.cs
- Dictionary.cs
- Camera.cs
- EntityFunctions.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- __ConsoleStream.cs
- StateBag.cs
- ObjectItemCollection.cs
- ActivityPreviewDesigner.cs
- ProjectionPlan.cs
- IndexedGlyphRun.cs
- SecurityContextTokenValidationException.cs
- SqlDataRecord.cs