Code:
/ FX-1434 / FX-1434 / 1.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
- ObjectAnimationUsingKeyFrames.cs
- ACE.cs
- CustomAttributeBuilder.cs
- ContentPlaceHolder.cs
- LogManagementAsyncResult.cs
- FastEncoder.cs
- RtfControlWordInfo.cs
- MDIControlStrip.cs
- HttpRequestCacheValidator.cs
- DataStreamFromComStream.cs
- SqlUDTStorage.cs
- TabItemWrapperAutomationPeer.cs
- XmlAttributeHolder.cs
- DataGridAutoFormatDialog.cs
- DataTableTypeConverter.cs
- RTLAwareMessageBox.cs
- CommandField.cs
- BitStream.cs
- AnimationTimeline.cs
- DataGridViewCheckBoxCell.cs
- PrintDocument.cs
- FrameworkTemplate.cs
- ApplicationSecurityInfo.cs
- ViewManager.cs
- ContentType.cs
- RemotingServices.cs
- RoleManagerSection.cs
- ConfigurationStrings.cs
- TextSpan.cs
- ConfigurationPropertyCollection.cs
- SecurityTokenAuthenticator.cs
- ScriptResourceHandler.cs
- Encoding.cs
- Constants.cs
- RoleService.cs
- ClientTarget.cs
- ButtonChrome.cs
- X509ChainElement.cs
- Converter.cs
- ComponentCodeDomSerializer.cs
- Soap12ProtocolReflector.cs
- RuntimeIdentifierPropertyAttribute.cs
- Style.cs
- RtfToXamlLexer.cs
- KeyManager.cs
- ExpressionDumper.cs
- DomainConstraint.cs
- CodeCommentStatement.cs
- TreeView.cs
- LabelDesigner.cs
- ScaleTransform.cs
- MimeWriter.cs
- InternalDispatchObject.cs
- TrailingSpaceComparer.cs
- KernelTypeValidation.cs
- StylusPointPropertyUnit.cs
- WebPart.cs
- RootBrowserWindowProxy.cs
- XmlCharCheckingReader.cs
- HttpProfileGroupBase.cs
- WindowsBrush.cs
- PassportAuthenticationModule.cs
- InkCanvasSelection.cs
- DynamicRendererThreadManager.cs
- DataColumnCollection.cs
- LambdaCompiler.Unary.cs
- EpmContentSerializer.cs
- RegexRunnerFactory.cs
- ComponentRenameEvent.cs
- SqlCaseSimplifier.cs
- NameNode.cs
- CodeDomConfigurationHandler.cs
- TextBoxDesigner.cs
- WebPartAddingEventArgs.cs
- SmtpNegotiateAuthenticationModule.cs
- ToolboxItemSnapLineBehavior.cs
- XmlChildEnumerator.cs
- Int16Storage.cs
- Sentence.cs
- TabControl.cs
- TransactionManager.cs
- LeftCellWrapper.cs
- ConnectionStringsExpressionBuilder.cs
- BackgroundWorker.cs
- OleDbCommand.cs
- TimeSpanMinutesConverter.cs
- DataError.cs
- RSAPKCS1SignatureDeformatter.cs
- ActiveXHost.cs
- DebugTraceHelper.cs
- TransformerInfo.cs
- RegexGroupCollection.cs
- FormsAuthenticationUser.cs
- LinearGradientBrush.cs
- MultiBindingExpression.cs
- messageonlyhwndwrapper.cs
- FunctionDetailsReader.cs
- ColorKeyFrameCollection.cs
- _SSPIWrapper.cs
- SiteMapNodeCollection.cs