Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / PropertyMetadata.cs / 1305376 / PropertyMetadata.cs
using System; using System.Collections.Generic; namespace System.Workflow.ComponentModel { [Flags] public enum DependencyPropertyOptions : byte { Default = 1, ReadOnly = 2, Optional = 4, Metadata = 8, NonSerialized = 16, DelegateProperty = 32 } //overrides so you dont need to do inheritence public delegate object GetValueOverride(DependencyObject d); public delegate void SetValueOverride(DependencyObject d, object value); public class PropertyMetadata { private Attribute[] attributes = null; private object defaultValue = null; private DependencyPropertyOptions options = DependencyPropertyOptions.Default; private bool propertySealed = false; private GetValueOverride getValueOverride = null; private SetValueOverride setValueOverride = null; private bool shouldAlwaysCallOverride = false; public PropertyMetadata() { } public PropertyMetadata(object defaultValue) : this(defaultValue, default(DependencyPropertyOptions)) { } public PropertyMetadata(DependencyPropertyOptions options) : this( null, options) { } public PropertyMetadata(object defaultValue, DependencyPropertyOptions options) : this(defaultValue, options, null, null, new Attribute[] { }) { } public PropertyMetadata(object defaultValue, params Attribute[] attributes) : this( defaultValue, default(DependencyPropertyOptions), null , null, attributes) { } public PropertyMetadata(object defaultValue, DependencyPropertyOptions options, params Attribute[] attributes) : this(defaultValue, options, null, null, attributes) { } public PropertyMetadata(DependencyPropertyOptions options, params Attribute[] attributes) : this(null, options, null, null, attributes) { } public PropertyMetadata(params Attribute[] attributes) : this(null, default(DependencyPropertyOptions), null, null, attributes) { } public PropertyMetadata(object defaultValue, DependencyPropertyOptions options, GetValueOverride getValueOverride, SetValueOverride setValueOverride) : this(defaultValue, options, getValueOverride, setValueOverride, new Attribute[] { }) { } public PropertyMetadata(object defaultValue, DependencyPropertyOptions options, GetValueOverride getValueOverride, SetValueOverride setValueOverride, params Attribute[] attributes) : this(defaultValue, options, getValueOverride, setValueOverride, false, attributes) { } internal PropertyMetadata(object defaultValue, DependencyPropertyOptions options, GetValueOverride getValueOverride, SetValueOverride setValueOverride, bool shouldAlwaysCallOverride, params Attribute[] attributes) { this.defaultValue = defaultValue; this.options = options; this.getValueOverride = getValueOverride; this.setValueOverride = setValueOverride; this.shouldAlwaysCallOverride = shouldAlwaysCallOverride; this.attributes = attributes; } public Attribute[] GetAttributes() { return GetAttributes(null); } public Attribute[] GetAttributes(Type attributeType) { Listattributes = new List (); if (this.attributes != null) { foreach (Attribute attribute in this.attributes) { if (attribute == null) continue; if (attributeType == null || attribute.GetType() == attributeType) attributes.Add(attribute); } } return attributes.ToArray(); } public object DefaultValue { get { return this.defaultValue; } set { if (this.propertySealed) throw new InvalidOperationException(SR.GetString(SR.Error_SealedPropertyMetadata)); this.defaultValue = value; } } public DependencyPropertyOptions Options { get { return this.options; } set { if (this.propertySealed) throw new InvalidOperationException(SR.GetString(SR.Error_SealedPropertyMetadata)); this.options = value; } } public bool IsMetaProperty { get { return (this.options & DependencyPropertyOptions.Metadata) > 0; } } public bool IsNonSerialized { get { return (this.options & DependencyPropertyOptions.NonSerialized) > 0; } } public bool IsReadOnly { get { return (this.options & DependencyPropertyOptions.ReadOnly) > 0; } } public GetValueOverride GetValueOverride { get { return this.getValueOverride; } set { if (this.propertySealed) throw new InvalidOperationException(SR.GetString(SR.Error_SealedPropertyMetadata)); this.getValueOverride = value; } } public SetValueOverride SetValueOverride { get { return this.setValueOverride; } set { if (this.propertySealed) throw new InvalidOperationException(SR.GetString(SR.Error_SealedPropertyMetadata)); this.setValueOverride = value; } } protected virtual void OnApply(DependencyProperty dependencyProperty, Type targetType) { } protected bool IsSealed { get { return this.propertySealed; } } internal bool ShouldAlwaysCallOverride { get { return shouldAlwaysCallOverride; } } internal void Seal(DependencyProperty dependencyProperty, Type targetType) { OnApply(dependencyProperty, targetType); this.propertySealed = true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections.Generic; namespace System.Workflow.ComponentModel { [Flags] public enum DependencyPropertyOptions : byte { Default = 1, ReadOnly = 2, Optional = 4, Metadata = 8, NonSerialized = 16, DelegateProperty = 32 } //overrides so you dont need to do inheritence public delegate object GetValueOverride(DependencyObject d); public delegate void SetValueOverride(DependencyObject d, object value); public class PropertyMetadata { private Attribute[] attributes = null; private object defaultValue = null; private DependencyPropertyOptions options = DependencyPropertyOptions.Default; private bool propertySealed = false; private GetValueOverride getValueOverride = null; private SetValueOverride setValueOverride = null; private bool shouldAlwaysCallOverride = false; public PropertyMetadata() { } public PropertyMetadata(object defaultValue) : this(defaultValue, default(DependencyPropertyOptions)) { } public PropertyMetadata(DependencyPropertyOptions options) : this( null, options) { } public PropertyMetadata(object defaultValue, DependencyPropertyOptions options) : this(defaultValue, options, null, null, new Attribute[] { }) { } public PropertyMetadata(object defaultValue, params Attribute[] attributes) : this( defaultValue, default(DependencyPropertyOptions), null , null, attributes) { } public PropertyMetadata(object defaultValue, DependencyPropertyOptions options, params Attribute[] attributes) : this(defaultValue, options, null, null, attributes) { } public PropertyMetadata(DependencyPropertyOptions options, params Attribute[] attributes) : this(null, options, null, null, attributes) { } public PropertyMetadata(params Attribute[] attributes) : this(null, default(DependencyPropertyOptions), null, null, attributes) { } public PropertyMetadata(object defaultValue, DependencyPropertyOptions options, GetValueOverride getValueOverride, SetValueOverride setValueOverride) : this(defaultValue, options, getValueOverride, setValueOverride, new Attribute[] { }) { } public PropertyMetadata(object defaultValue, DependencyPropertyOptions options, GetValueOverride getValueOverride, SetValueOverride setValueOverride, params Attribute[] attributes) : this(defaultValue, options, getValueOverride, setValueOverride, false, attributes) { } internal PropertyMetadata(object defaultValue, DependencyPropertyOptions options, GetValueOverride getValueOverride, SetValueOverride setValueOverride, bool shouldAlwaysCallOverride, params Attribute[] attributes) { this.defaultValue = defaultValue; this.options = options; this.getValueOverride = getValueOverride; this.setValueOverride = setValueOverride; this.shouldAlwaysCallOverride = shouldAlwaysCallOverride; this.attributes = attributes; } public Attribute[] GetAttributes() { return GetAttributes(null); } public Attribute[] GetAttributes(Type attributeType) { List attributes = new List (); if (this.attributes != null) { foreach (Attribute attribute in this.attributes) { if (attribute == null) continue; if (attributeType == null || attribute.GetType() == attributeType) attributes.Add(attribute); } } return attributes.ToArray(); } public object DefaultValue { get { return this.defaultValue; } set { if (this.propertySealed) throw new InvalidOperationException(SR.GetString(SR.Error_SealedPropertyMetadata)); this.defaultValue = value; } } public DependencyPropertyOptions Options { get { return this.options; } set { if (this.propertySealed) throw new InvalidOperationException(SR.GetString(SR.Error_SealedPropertyMetadata)); this.options = value; } } public bool IsMetaProperty { get { return (this.options & DependencyPropertyOptions.Metadata) > 0; } } public bool IsNonSerialized { get { return (this.options & DependencyPropertyOptions.NonSerialized) > 0; } } public bool IsReadOnly { get { return (this.options & DependencyPropertyOptions.ReadOnly) > 0; } } public GetValueOverride GetValueOverride { get { return this.getValueOverride; } set { if (this.propertySealed) throw new InvalidOperationException(SR.GetString(SR.Error_SealedPropertyMetadata)); this.getValueOverride = value; } } public SetValueOverride SetValueOverride { get { return this.setValueOverride; } set { if (this.propertySealed) throw new InvalidOperationException(SR.GetString(SR.Error_SealedPropertyMetadata)); this.setValueOverride = value; } } protected virtual void OnApply(DependencyProperty dependencyProperty, Type targetType) { } protected bool IsSealed { get { return this.propertySealed; } } internal bool ShouldAlwaysCallOverride { get { return shouldAlwaysCallOverride; } } internal void Seal(DependencyProperty dependencyProperty, Type targetType) { OnApply(dependencyProperty, targetType); this.propertySealed = true; } } } // 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
- TextLine.cs
- TypeConverters.cs
- DependencyPropertyKey.cs
- ClientApiGenerator.cs
- HtmlMeta.cs
- AuthenticationException.cs
- OdbcDataAdapter.cs
- SplineQuaternionKeyFrame.cs
- DBDataPermissionAttribute.cs
- OpenCollectionAsyncResult.cs
- ToolStripMenuItem.cs
- ResXResourceSet.cs
- CodeSubDirectoriesCollection.cs
- MD5HashHelper.cs
- TripleDES.cs
- SelectionBorderGlyph.cs
- ComNativeDescriptor.cs
- InternalDuplexChannelListener.cs
- ConfigurationValue.cs
- ProfileEventArgs.cs
- WebPartManagerInternals.cs
- ExpressionBuilder.cs
- IssuerInformation.cs
- ClockController.cs
- SrgsRule.cs
- Rect.cs
- Util.cs
- CompressStream.cs
- TextServicesDisplayAttribute.cs
- WebPartDisplayModeEventArgs.cs
- FormViewRow.cs
- Int32CollectionConverter.cs
- StandardOleMarshalObject.cs
- RemotingConfigParser.cs
- UnsafeNativeMethods.cs
- Int64AnimationBase.cs
- ButtonChrome.cs
- InvokeMethodDesigner.xaml.cs
- Point4D.cs
- ConfigurationStrings.cs
- odbcmetadatacolumnnames.cs
- Buffer.cs
- MergablePropertyAttribute.cs
- ProjectionCamera.cs
- RegionIterator.cs
- HtmlTable.cs
- QilChoice.cs
- MediaCommands.cs
- InputScopeNameConverter.cs
- MSG.cs
- PrintingPermission.cs
- ToolStripGripRenderEventArgs.cs
- TimeZone.cs
- PropertyChangedEventManager.cs
- ResourceProperty.cs
- RemotingConfiguration.cs
- XmlBinaryWriter.cs
- StylusDownEventArgs.cs
- TextRange.cs
- IDQuery.cs
- InternalBufferOverflowException.cs
- TextTreeUndoUnit.cs
- AddInPipelineAttributes.cs
- HttpCacheVary.cs
- ResXBuildProvider.cs
- FontCacheLogic.cs
- HandleRef.cs
- StyleXamlParser.cs
- Speller.cs
- ClientScriptManagerWrapper.cs
- EventInfo.cs
- DiscoveryInnerClientAdhocCD1.cs
- CommentEmitter.cs
- ProtocolsConfiguration.cs
- SoapReflectionImporter.cs
- DataMemberConverter.cs
- TextTreeDeleteContentUndoUnit.cs
- ReferentialConstraint.cs
- ECDiffieHellmanCngPublicKey.cs
- Translator.cs
- DocumentViewerConstants.cs
- ConfigXmlDocument.cs
- KeyedQueue.cs
- WinFormsSpinner.cs
- ChildrenQuery.cs
- PopupEventArgs.cs
- SystemUdpStatistics.cs
- EntityModelBuildProvider.cs
- StringCollectionEditor.cs
- Link.cs
- SafeFileMapViewHandle.cs
- StreamedWorkflowDefinitionContext.cs
- HierarchicalDataSourceControl.cs
- DataServiceProviderWrapper.cs
- TogglePattern.cs
- SqlDataSourceConnectionPanel.cs
- ConfigXmlComment.cs
- TrackingRecord.cs
- GraphicsContainer.cs
- AdornerHitTestResult.cs