Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Base / System / Windows / DeferredReference.cs / 1 / DeferredReference.cs
//---------------------------------------------------------------------------- // // File: DeferredReference.cs // // Copyright (C) Microsoft Corporation. All rights reserved. // // Description: Proxy object passed to the property system to delay load values. // //--------------------------------------------------------------------------- namespace System.Windows { using MS.Internal.WindowsBase; // FriendAccessAllowed // Proxy object passed to the property system to delay load values. // // The property system will make a GetValue callback (dereferencing the // reference) inside DependencyProperty.GetValue calls, or before // coercion callbacks to derived classes. // // DeferredReference instances are passed directly to ValidateValue // callbacks (which always go to the DependencyProperty owner class), // and also to CoerceValue callbacks on the owner class only. THEREFORE, // IT IS [FriendAccessAllowed] // Built into Base, also used by Core & Framework. internal abstract class DeferredReference { //----------------------------------------------------- // // Internal Methods // //----------------------------------------------------- #region Internal Methods // Deferences a property value on demand. internal abstract object GetValue(BaseValueSourceInternal valueSource); // Gets the type of the value it represents internal abstract Type GetValueType(); #endregion Internal Methods } internal class DeferredMutableDefaultReference : DeferredReference { #region Constructor internal DeferredMutableDefaultReference(PropertyMetadata metadata, DependencyObject d, DependencyProperty dp) { _sourceObject = d; _sourceProperty = dp; _sourceMetadata = metadata; } #endregion Constructor #region Methods internal override object GetValue(BaseValueSourceInternal valueSource) { return _sourceMetadata.GetDefaultValue(_sourceObject, _sourceProperty); } // Gets the type of the value it represents internal override Type GetValueType() { return _sourceProperty.PropertyType; } #endregion Methods #region Properties internal PropertyMetadata SourceMetadata { get { return _sourceMetadata; } } protected DependencyObject SourceObject { get { return _sourceObject; } } protected DependencyProperty SourceProperty { get { return _sourceProperty; } } #endregion Properties #region Data private readonly PropertyMetadata _sourceMetadata; private readonly DependencyObject _sourceObject; private readonly DependencyProperty _sourceProperty; #endregion Data } } // 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
- RawStylusActions.cs
- StringComparer.cs
- TextMessageEncodingElement.cs
- XmlSchemaAnnotated.cs
- ButtonFieldBase.cs
- HotSpot.cs
- MatrixIndependentAnimationStorage.cs
- webbrowsersite.cs
- AttachmentCollection.cs
- MetabaseServerConfig.cs
- WebConfigurationHost.cs
- Matrix3D.cs
- OleDbParameterCollection.cs
- FontCollection.cs
- ExpressionReplacer.cs
- XmlHierarchyData.cs
- NodeFunctions.cs
- ObservableDictionary.cs
- CommandField.cs
- ContentFileHelper.cs
- SupportsEventValidationAttribute.cs
- ReflectEventDescriptor.cs
- ProcessThreadCollection.cs
- CodeVariableReferenceExpression.cs
- PackWebRequestFactory.cs
- DrawingVisual.cs
- shaperfactoryquerycachekey.cs
- ValidateNames.cs
- EntityDataSourceView.cs
- Types.cs
- SerialStream.cs
- FixedPageProcessor.cs
- SpeechSeg.cs
- ConfigXmlReader.cs
- Decoder.cs
- IndentedWriter.cs
- NetMsmqSecurityMode.cs
- SafeBuffer.cs
- DivideByZeroException.cs
- DataGridViewComboBoxEditingControl.cs
- EndOfStreamException.cs
- EventSetter.cs
- XmlReflectionMember.cs
- XmlSchemaIdentityConstraint.cs
- WebControlsSection.cs
- TargetConverter.cs
- WhitespaceRule.cs
- TextFormatterContext.cs
- ServiceDesigner.cs
- RegisteredDisposeScript.cs
- RemotingSurrogateSelector.cs
- EventMetadata.cs
- DocumentStream.cs
- WebZone.cs
- PolygonHotSpot.cs
- GenericIdentity.cs
- AttributedMetaModel.cs
- TraceContext.cs
- Light.cs
- ClientRuntimeConfig.cs
- __FastResourceComparer.cs
- TextElementCollection.cs
- CodeDomLocalizationProvider.cs
- BreakRecordTable.cs
- DSASignatureDeformatter.cs
- TextModifierScope.cs
- PartialClassGenerationTaskInternal.cs
- StreamReader.cs
- RequestNavigateEventArgs.cs
- TimeSpanConverter.cs
- NamespaceList.cs
- Stack.cs
- RegionData.cs
- FillBehavior.cs
- _NegoState.cs
- ContextMenuService.cs
- UIElement.cs
- X509CertificateCollection.cs
- Vector3D.cs
- WebConfigurationFileMap.cs
- PagesSection.cs
- ConfigXmlElement.cs
- ReadOnlyCollectionBase.cs
- SimpleHandlerFactory.cs
- DirectoryLocalQuery.cs
- BrowserCapabilitiesCompiler.cs
- MatrixValueSerializer.cs
- Geometry.cs
- RegexCapture.cs
- CacheModeValueSerializer.cs
- ProviderUtil.cs
- DataRowChangeEvent.cs
- InternalConfigRoot.cs
- DbParameterHelper.cs
- TaskExceptionHolder.cs
- BrowserCapabilitiesFactory.cs
- Cursor.cs
- BindingNavigator.cs
- ImageButton.cs
- TextServicesLoader.cs