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
- RawAppCommandInputReport.cs
- SignedXml.cs
- StorageRoot.cs
- VariableReference.cs
- PerspectiveCamera.cs
- PreservationFileReader.cs
- LinkLabelLinkClickedEvent.cs
- FormViewInsertedEventArgs.cs
- Cursor.cs
- XmlComplianceUtil.cs
- AuthorizationRuleCollection.cs
- Axis.cs
- DynamicUpdateCommand.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- HTTPRemotingHandler.cs
- Tile.cs
- VirtualizedItemPattern.cs
- TreeWalkHelper.cs
- PersonalizableAttribute.cs
- SessionEndedEventArgs.cs
- DataGridViewLinkCell.cs
- SQLDecimal.cs
- WindowsListViewSubItem.cs
- BitmapEffectRenderDataResource.cs
- TextEditorLists.cs
- SevenBitStream.cs
- SqlGenerator.cs
- ProxyFragment.cs
- QueryParameter.cs
- log.cs
- InstanceKeyCollisionException.cs
- PeerEndPoint.cs
- PackageDocument.cs
- PeerCustomResolverSettings.cs
- SmtpNetworkElement.cs
- VScrollBar.cs
- ImageMapEventArgs.cs
- SiteMapNodeCollection.cs
- GetRecipientRequest.cs
- FileSecurity.cs
- DataObjectCopyingEventArgs.cs
- MetadataCache.cs
- FlowLayout.cs
- KeyConstraint.cs
- VisualBrush.cs
- EdmSchemaError.cs
- ProviderUtil.cs
- MediaCommands.cs
- ColumnProvider.cs
- RectangleConverter.cs
- UriParserTemplates.cs
- baseaxisquery.cs
- SpecularMaterial.cs
- IriParsingElement.cs
- BufferedStream.cs
- ElementAtQueryOperator.cs
- MetadataPropertyCollection.cs
- Misc.cs
- MsmqInputChannelListenerBase.cs
- CounterCreationDataCollection.cs
- WpfWebRequestHelper.cs
- RSAOAEPKeyExchangeDeformatter.cs
- OrderedEnumerableRowCollection.cs
- BrowserCapabilitiesCompiler.cs
- BamlResourceContent.cs
- TemplateKey.cs
- Attributes.cs
- SecurityRuntime.cs
- ColumnMap.cs
- CLSCompliantAttribute.cs
- shaperfactory.cs
- sqlser.cs
- FixedSOMTable.cs
- XamlFilter.cs
- SerializationTrace.cs
- DataSet.cs
- CacheDependency.cs
- NavigationEventArgs.cs
- InstanceDataCollectionCollection.cs
- WindowsTab.cs
- IsolatedStorageException.cs
- SourceLineInfo.cs
- DataGridColumnCollectionEditor.cs
- HttpRequestWrapper.cs
- CatalogZoneAutoFormat.cs
- InvalidFilterCriteriaException.cs
- EnumMemberAttribute.cs
- SqlCommandAsyncResult.cs
- Int32Rect.cs
- hresults.cs
- PropertiesTab.cs
- datacache.cs
- XmlWellformedWriter.cs
- ConfigurationValidatorBase.cs
- GroupDescription.cs
- DesignUtil.cs
- NullNotAllowedCollection.cs
- GiveFeedbackEvent.cs
- WebExceptionStatus.cs
- TextEditorTyping.cs