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
- NativeMethods.cs
- DelegatingTypeDescriptionProvider.cs
- ListViewInsertionMark.cs
- ProtocolsConfigurationEntry.cs
- UserControlParser.cs
- Grammar.cs
- SHA512.cs
- SelectionWordBreaker.cs
- ConvertersCollection.cs
- DesignerActionItem.cs
- DataGridItemEventArgs.cs
- XpsDocument.cs
- DataTableMapping.cs
- BigInt.cs
- MailWebEventProvider.cs
- CorePropertiesFilter.cs
- SQLDecimalStorage.cs
- LinqDataSourceHelper.cs
- UInt64Converter.cs
- BindingBase.cs
- CompoundFileReference.cs
- ResourceDescriptionAttribute.cs
- SchemaTableOptionalColumn.cs
- StrokeNodeEnumerator.cs
- LinkTarget.cs
- ZipFileInfoCollection.cs
- XmlUtilWriter.cs
- EffectiveValueEntry.cs
- IInstanceTable.cs
- RayHitTestParameters.cs
- RepeaterItemCollection.cs
- InlinedAggregationOperator.cs
- DescendantOverDescendantQuery.cs
- ColumnCollection.cs
- ScriptMethodAttribute.cs
- EncodingTable.cs
- PipeStream.cs
- ApplicationFileCodeDomTreeGenerator.cs
- EntityDataSourceSelectingEventArgs.cs
- MenuCommands.cs
- DocumentNUp.cs
- BuildTopDownAttribute.cs
- RegistryHandle.cs
- LoginUtil.cs
- MemberHolder.cs
- RelatedImageListAttribute.cs
- UnhandledExceptionEventArgs.cs
- SeekableReadStream.cs
- BinaryUtilClasses.cs
- XmlChoiceIdentifierAttribute.cs
- DesignerHelpers.cs
- OutputCacheModule.cs
- SchemaCollectionCompiler.cs
- TextBlock.cs
- ListBoxItemAutomationPeer.cs
- DrawItemEvent.cs
- DetailsViewPageEventArgs.cs
- ByteAnimationUsingKeyFrames.cs
- FormViewInsertedEventArgs.cs
- PermissionRequestEvidence.cs
- TreeView.cs
- BigInt.cs
- XmlIlVisitor.cs
- XmlJsonReader.cs
- ColorComboBox.cs
- ApplicationProxyInternal.cs
- PageClientProxyGenerator.cs
- DataGridSortCommandEventArgs.cs
- AccessViolationException.cs
- ServiceModelSectionGroup.cs
- DbConvert.cs
- DictionaryCustomTypeDescriptor.cs
- TreeView.cs
- ToolStripContainerDesigner.cs
- WorkflowRuntimeServiceElementCollection.cs
- FormsAuthenticationCredentials.cs
- HwndHostAutomationPeer.cs
- WindowsImpersonationContext.cs
- NameValueConfigurationElement.cs
- ParseNumbers.cs
- NotifyParentPropertyAttribute.cs
- TimeSpanValidatorAttribute.cs
- ConstNode.cs
- PropertyEmitter.cs
- VisualStyleInformation.cs
- SafeNativeMethodsOther.cs
- EventLogger.cs
- AggregateException.cs
- SessionSwitchEventArgs.cs
- StateMachineWorkflowDesigner.cs
- PrimitiveOperationFormatter.cs
- NetworkCredential.cs
- MenuItemBindingCollection.cs
- MarginsConverter.cs
- ButtonFieldBase.cs
- UnsafeNativeMethods.cs
- AnonymousIdentificationModule.cs
- ConfigurationStrings.cs
- namescope.cs
- Quaternion.cs