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
- ProvidePropertyAttribute.cs
- BufferedResponseStream.cs
- PropertyCollection.cs
- CompatibleComparer.cs
- SiteMembershipCondition.cs
- PathGradientBrush.cs
- PenContexts.cs
- SectionVisual.cs
- FontInfo.cs
- GatewayDefinition.cs
- DetailsViewCommandEventArgs.cs
- HttpModulesSection.cs
- AsyncDataRequest.cs
- ParseChildrenAsPropertiesAttribute.cs
- AutomationElement.cs
- BinaryCommonClasses.cs
- Italic.cs
- SrgsRulesCollection.cs
- MonitoringDescriptionAttribute.cs
- XmlChildEnumerator.cs
- HMACMD5.cs
- HttpGetProtocolReflector.cs
- WindowsProgressbar.cs
- XmlILAnnotation.cs
- GridViewSelectEventArgs.cs
- BinHexDecoder.cs
- regiisutil.cs
- CodeRegionDirective.cs
- CallInfo.cs
- XmlSchemaObjectCollection.cs
- TypeGeneratedEventArgs.cs
- SystemColors.cs
- ValidatorCollection.cs
- WebPartAuthorizationEventArgs.cs
- WorkflowDispatchContext.cs
- EdmType.cs
- URLBuilder.cs
- LambdaReference.cs
- SafePEFileHandle.cs
- ExtensionElement.cs
- Accessible.cs
- PageContent.cs
- SqlDependencyListener.cs
- ProfileBuildProvider.cs
- TextBlockAutomationPeer.cs
- PagesSection.cs
- ExceptionAggregator.cs
- XsltException.cs
- PageClientProxyGenerator.cs
- ExtentKey.cs
- CompatibleComparer.cs
- ValidationVisibilityAttribute.cs
- SmiMetaData.cs
- GeneralTransform3DGroup.cs
- AQNBuilder.cs
- StateMachine.cs
- MeasureItemEvent.cs
- NameTable.cs
- ApplicationContext.cs
- QuotedPrintableStream.cs
- ProcessingInstructionAction.cs
- EntityStoreSchemaGenerator.cs
- ChangeTracker.cs
- FocusTracker.cs
- DrawingBrush.cs
- TrackingDataItemValue.cs
- DataViewSetting.cs
- RegexCompilationInfo.cs
- Instrumentation.cs
- SchemaCreator.cs
- PropertyKey.cs
- MouseBinding.cs
- DynamicPropertyHolder.cs
- IndentTextWriter.cs
- AstTree.cs
- RtfToXamlReader.cs
- Identity.cs
- WebPartUtil.cs
- PrintController.cs
- CoTaskMemHandle.cs
- ProtocolViolationException.cs
- BeginGetFileNameFromUserRequest.cs
- AndCondition.cs
- itemelement.cs
- PersistenceException.cs
- IriParsingElement.cs
- StatusBarItemAutomationPeer.cs
- ConfigurationStrings.cs
- UIElementIsland.cs
- TimeSpan.cs
- HttpCacheVaryByContentEncodings.cs
- EpmContentSerializerBase.cs
- SplineKeyFrames.cs
- PasswordBoxAutomationPeer.cs
- CategoryNameCollection.cs
- RenderDataDrawingContext.cs
- HitTestDrawingContextWalker.cs
- Expressions.cs
- WindowsListViewScroll.cs
- AbsoluteQuery.cs