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
- EnterpriseServicesHelper.cs
- TemplateBuilder.cs
- _ConnectStream.cs
- _CommandStream.cs
- EntityDataSourceChangingEventArgs.cs
- TextBoxLine.cs
- HTMLTextWriter.cs
- EntityType.cs
- ECDiffieHellmanCngPublicKey.cs
- HostProtectionException.cs
- TraceProvider.cs
- AsyncWaitHandle.cs
- AsyncMethodInvoker.cs
- XmlSchemaElement.cs
- ProfilePropertyMetadata.cs
- DockingAttribute.cs
- webeventbuffer.cs
- ResourceContainer.cs
- NotSupportedException.cs
- LocalizationParserHooks.cs
- ZipIOExtraField.cs
- SqlBuffer.cs
- SmiConnection.cs
- DataPagerFieldCollection.cs
- InstanceStore.cs
- WebPartDisplayModeCollection.cs
- QueryTaskGroupState.cs
- MinimizableAttributeTypeConverter.cs
- Int64.cs
- StringFunctions.cs
- DescendantOverDescendantQuery.cs
- PrintPreviewControl.cs
- WebPartConnection.cs
- Vector3DAnimationUsingKeyFrames.cs
- RecognizeCompletedEventArgs.cs
- HttpListener.cs
- NotFiniteNumberException.cs
- Control.cs
- TraceLog.cs
- DataGridViewLinkCell.cs
- Form.cs
- Descriptor.cs
- SmtpFailedRecipientsException.cs
- NameSpaceEvent.cs
- dbenumerator.cs
- dsa.cs
- PrivateFontCollection.cs
- Font.cs
- SelectionChangedEventArgs.cs
- base64Transforms.cs
- XmlEnumAttribute.cs
- EventSetter.cs
- HttpRuntime.cs
- EventDescriptor.cs
- ExpressionVisitorHelpers.cs
- DocumentPaginator.cs
- CodeAccessSecurityEngine.cs
- LicenseManager.cs
- ParserContext.cs
- ValidationRule.cs
- ResourcePermissionBaseEntry.cs
- WebPageTraceListener.cs
- GraphicsPathIterator.cs
- DbConnectionOptions.cs
- WrapperEqualityComparer.cs
- Dynamic.cs
- UnconditionalPolicy.cs
- ImmComposition.cs
- Size3DConverter.cs
- FunctionImportElement.cs
- XmlKeywords.cs
- parserscommon.cs
- FilterableAttribute.cs
- WebException.cs
- RijndaelCryptoServiceProvider.cs
- InstanceCreationEditor.cs
- PropertyGrid.cs
- ObjectDataSourceStatusEventArgs.cs
- LassoSelectionBehavior.cs
- DecimalAnimationUsingKeyFrames.cs
- InvalidEnumArgumentException.cs
- ClientScriptManager.cs
- CaseExpr.cs
- VectorKeyFrameCollection.cs
- XmlDocumentViewSchema.cs
- StringInfo.cs
- XmlSchema.cs
- ActivityStatusChangeEventArgs.cs
- _ListenerResponseStream.cs
- RelationshipWrapper.cs
- CompositeActivityDesigner.cs
- VariableQuery.cs
- DataBoundControlHelper.cs
- PreservationFileWriter.cs
- RandomNumberGenerator.cs
- FormClosedEvent.cs
- RijndaelManagedTransform.cs
- StreamUpdate.cs
- InvalidTimeZoneException.cs
- PassportAuthenticationEventArgs.cs