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
- NativeMethods.cs
- PackWebRequest.cs
- SafeNativeMethodsOther.cs
- SystemIPAddressInformation.cs
- DataPager.cs
- WriterOutput.cs
- indexingfiltermarshaler.cs
- PolyBezierSegment.cs
- ExpressionPrefixAttribute.cs
- Point4D.cs
- SSmlParser.cs
- ContentDisposition.cs
- TemplatingOptionsDialog.cs
- XmlILIndex.cs
- UnmanagedMemoryStreamWrapper.cs
- RectangleConverter.cs
- ColorConverter.cs
- ToolStripDropDown.cs
- CaretElement.cs
- TraceLevelHelper.cs
- SessionIDManager.cs
- HierarchicalDataBoundControlAdapter.cs
- SpecialNameAttribute.cs
- FormsAuthenticationUserCollection.cs
- AnimationClockResource.cs
- DropTarget.cs
- ObjectPropertyMapping.cs
- GridViewEditEventArgs.cs
- XmlAttributeCollection.cs
- SocketElement.cs
- ThreadSafeList.cs
- SerializationSectionGroup.cs
- DataSet.cs
- XmlSignificantWhitespace.cs
- PageVisual.cs
- HMACRIPEMD160.cs
- CollectionBase.cs
- HwndKeyboardInputProvider.cs
- X509Utils.cs
- FreezableOperations.cs
- PinnedBufferMemoryStream.cs
- TextAutomationPeer.cs
- OutputScopeManager.cs
- HtmlEncodedRawTextWriter.cs
- NativeMethods.cs
- CollectionDataContract.cs
- PeerPresenceInfo.cs
- prompt.cs
- TrackingMemoryStream.cs
- OpenTypeLayout.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- JsonObjectDataContract.cs
- sqlinternaltransaction.cs
- SerializationEventsCache.cs
- XmlAttributeCache.cs
- PagesChangedEventArgs.cs
- DataObjectSettingDataEventArgs.cs
- NetworkInformationException.cs
- NetworkInformationException.cs
- DummyDataSource.cs
- DllNotFoundException.cs
- IndentedWriter.cs
- XmlSchemaGroup.cs
- ControlValuePropertyAttribute.cs
- DirectoryNotFoundException.cs
- SecurityTraceRecordHelper.cs
- GridEntry.cs
- JumpItem.cs
- ConfigurationPropertyCollection.cs
- DateTimeFormatInfo.cs
- ListViewCancelEventArgs.cs
- _BasicClient.cs
- ObjectComplexPropertyMapping.cs
- HierarchicalDataBoundControl.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- Matrix3D.cs
- HostedHttpContext.cs
- SweepDirectionValidation.cs
- MouseGestureConverter.cs
- ToolStripItemImageRenderEventArgs.cs
- TypeDescriptorContext.cs
- JoinTreeNode.cs
- XmlEventCache.cs
- SqlWriter.cs
- ConfigPathUtility.cs
- Simplifier.cs
- dataSvcMapFileLoader.cs
- WindowPatternIdentifiers.cs
- ComponentCodeDomSerializer.cs
- CachingHintValidation.cs
- XamlReaderHelper.cs
- WindowsTokenRoleProvider.cs
- AppDomainManager.cs
- WindowsProgressbar.cs
- PrePrepareMethodAttribute.cs
- GridViewCommandEventArgs.cs
- SHA384Managed.cs
- EdmItemError.cs
- IdleTimeoutMonitor.cs
- PriorityQueue.cs