Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / Markup / Primitives / MarkupObject.cs / 1305600 / MarkupObject.cs
//------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2005 // // File: MarkupObject.cs // // Contents: API for iterating a tree of objects for serialization // // Created: 04/28/2005 [....] // //----------------------------------------------------------------------- using System; using System.ComponentModel; using System.Collections.Generic; using System.Reflection; using System.Text; using System.Windows.Markup; using MS.Internal.WindowsBase; namespace System.Windows.Markup.Primitives { ////// An enumeration class used by serialization to walk the a tree of objects. Markupobject's represent objects /// and using XML based serialization they would be written as elements. /// public abstract class MarkupObject { ////// Prevent external specialization /// [FriendAccessAllowed] // Used by ElementMarkupObject and others in Framework internal MarkupObject() { } ////// The CLR type for the object. For example, an item representing a Button would return the equivilient of /// typeof(System.Windows.Button). /// public abstract Type ObjectType { get; } ////// The instance of the object represented by the this MarkupObject. The type of the object might not be /// ObjectType if the instance represents a factory creating instances of type ObjectType. /// public abstract object Instance { get; } ////// An enumeration the items properties. Only properties that have significant (serializable) properties are /// returned. Properties that have their default value, or are otherwise not visible to serialization, are not /// returned. /// /// The first 0 to N properties returned by the Properties enumeration might have the IsConstructorArgument /// set. These properties should be used as the parameters to the ItemType's constructor with N parameters. If /// the first property doesn't have the IsConstructorArgument set, the default constructor of the ItemType /// should be used. /// /// If the MarkupItem is in a dictionary, one of the properties of the item will have an IsKey set to true. /// This is the value for the dictionary key. /// public virtual IEnumerableProperties { get { return GetProperties(true /*mapToConstructorArgs*/); } } internal abstract IEnumerable GetProperties(bool mapToConstructorArgs); /// /// Assigns a root context to use for ValueSerializer's that are used to return, for example, the string value /// of a property or key. All value serializaers will be looked up via this context if present. /// /// /// The context that will be passed to ValueSerializer's and TypeConverter's when converting text to a string /// public abstract void AssignRootContext(IValueSerializerContext context); ////// The attributes associated with the markup item. /// public abstract AttributeCollection Attributes { get; } } } // 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
- ComponentConverter.cs
- Win32SafeHandles.cs
- TextRangeProviderWrapper.cs
- FontDialog.cs
- Point3DCollection.cs
- ControlCollection.cs
- TypedElement.cs
- AbandonedMutexException.cs
- CodeMemberEvent.cs
- DataGridViewCheckBoxColumn.cs
- CompressionTransform.cs
- LinqDataSourceUpdateEventArgs.cs
- VisualStyleRenderer.cs
- ObfuscationAttribute.cs
- HashCodeCombiner.cs
- UInt64.cs
- ScriptHandlerFactory.cs
- QilName.cs
- SettingsPropertyNotFoundException.cs
- Int32CollectionValueSerializer.cs
- ArraySortHelper.cs
- StorageSetMapping.cs
- PropertyState.cs
- RetrieveVirtualItemEventArgs.cs
- AstNode.cs
- HiddenField.cs
- _HelperAsyncResults.cs
- PolyQuadraticBezierSegment.cs
- control.ime.cs
- MobileContainerDesigner.cs
- RelativeSource.cs
- SystemDiagnosticsSection.cs
- MediaTimeline.cs
- SqlRowUpdatingEvent.cs
- BuildManagerHost.cs
- Material.cs
- DescriptionAttribute.cs
- CodeArrayIndexerExpression.cs
- TimeoutStream.cs
- TypedAsyncResult.cs
- DataRowView.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- TableRow.cs
- AsymmetricSignatureDeformatter.cs
- EntityRecordInfo.cs
- Byte.cs
- SyndicationElementExtensionCollection.cs
- AssemblyInfo.cs
- IxmlLineInfo.cs
- BufferModesCollection.cs
- BuildProviderCollection.cs
- ListItem.cs
- RenderingEventArgs.cs
- ProgressBarRenderer.cs
- SqlNamer.cs
- PointConverter.cs
- XmlSchemaRedefine.cs
- AdornerHitTestResult.cs
- TextTreeTextElementNode.cs
- HttpModuleAction.cs
- PasswordPropertyTextAttribute.cs
- MultipartContentParser.cs
- NamespaceEmitter.cs
- Size3DConverter.cs
- ExpressionBindingCollection.cs
- ScopelessEnumAttribute.cs
- ForceCopyBuildProvider.cs
- SqlBinder.cs
- AsyncCompletedEventArgs.cs
- WindowsGraphicsCacheManager.cs
- StringArrayConverter.cs
- RC2CryptoServiceProvider.cs
- x509store.cs
- _LocalDataStoreMgr.cs
- PaperSize.cs
- View.cs
- CardSpacePolicyElement.cs
- DbParameterHelper.cs
- ImmutableObjectAttribute.cs
- StringBuilder.cs
- CompareValidator.cs
- PathNode.cs
- DrawTreeNodeEventArgs.cs
- TranslateTransform.cs
- SmtpAuthenticationManager.cs
- ActiveXContainer.cs
- StreamResourceInfo.cs
- XmlSchemas.cs
- SimpleApplicationHost.cs
- DragCompletedEventArgs.cs
- IProvider.cs
- EntityObject.cs
- CompilerWrapper.cs
- BinaryWriter.cs
- ProviderMetadataCachedInformation.cs
- InvalidCommandTreeException.cs
- ToolBarDesigner.cs
- PointHitTestResult.cs
- NameTable.cs
- HtmlInputHidden.cs