Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / DeferredReference.cs / 1305600 / 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
- ExecutionPropertyManager.cs
- GenericsInstances.cs
- PrincipalPermission.cs
- CommunicationObjectFaultedException.cs
- DataServiceStreamResponse.cs
- XmlEnumAttribute.cs
- ScrollBarAutomationPeer.cs
- MonitorWrapper.cs
- ClickablePoint.cs
- DbProviderSpecificTypePropertyAttribute.cs
- X509Certificate.cs
- MultilineStringConverter.cs
- CatalogPart.cs
- DefaultObjectMappingItemCollection.cs
- AddressHeader.cs
- PropertyValueChangedEvent.cs
- ListBase.cs
- DesignerWebPartChrome.cs
- WebPartZoneBase.cs
- WebEventTraceProvider.cs
- FunctionNode.cs
- EncryptionUtility.cs
- EnumBuilder.cs
- BindStream.cs
- VectorCollectionConverter.cs
- UrlPath.cs
- MsmqChannelFactoryBase.cs
- BrushValueSerializer.cs
- Maps.cs
- ColorConverter.cs
- AccessDataSourceView.cs
- SystemException.cs
- CacheHelper.cs
- DataObject.cs
- WebPageTraceListener.cs
- IODescriptionAttribute.cs
- ConversionHelper.cs
- ToolboxDataAttribute.cs
- Scanner.cs
- ListSortDescriptionCollection.cs
- KeyValuePair.cs
- SortedList.cs
- Viewport2DVisual3D.cs
- SpAudioStreamWrapper.cs
- JsonWriter.cs
- SqlMethodCallConverter.cs
- FigureParaClient.cs
- ExecutedRoutedEventArgs.cs
- SelectionChangedEventArgs.cs
- TdsParserStateObject.cs
- TextServicesLoader.cs
- SafeCertificateStore.cs
- HMACRIPEMD160.cs
- StructuralComparisons.cs
- SafeLibraryHandle.cs
- WebScriptEndpoint.cs
- AtomContentProperty.cs
- DebugView.cs
- TemplateContainer.cs
- ProjectionPlan.cs
- PerformanceCounter.cs
- DBConnection.cs
- FileChangesMonitor.cs
- Exceptions.cs
- GridViewRowEventArgs.cs
- WebPartCloseVerb.cs
- hresults.cs
- XmlQueryOutput.cs
- ShimAsPublicXamlType.cs
- ControlCodeDomSerializer.cs
- ITextView.cs
- ArrangedElementCollection.cs
- CheckPair.cs
- ColumnWidthChangedEvent.cs
- SR.Designer.cs
- ByteStreamMessage.cs
- FontFamilyIdentifier.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- DetailsViewUpdatedEventArgs.cs
- ServiceEndpointElementCollection.cs
- DBParameter.cs
- Size3DValueSerializer.cs
- GlobalProxySelection.cs
- DoubleCollection.cs
- _AutoWebProxyScriptHelper.cs
- SystemFonts.cs
- GridViewRowCollection.cs
- CustomErrorsSection.cs
- HitTestParameters3D.cs
- DataService.cs
- ManagementEventArgs.cs
- ActivityMetadata.cs
- Message.cs
- Type.cs
- BuildManagerHost.cs
- HwndTarget.cs
- IpcChannelHelper.cs
- MenuCommand.cs
- HtmlWindow.cs
- SqlOuterApplyReducer.cs