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
- ModelVisual3D.cs
- MenuItem.cs
- AppLevelCompilationSectionCache.cs
- _RequestCacheProtocol.cs
- FormsAuthenticationConfiguration.cs
- SafeArrayRankMismatchException.cs
- AddInAttribute.cs
- StoreItemCollection.cs
- MailAddressCollection.cs
- DataServiceRequestException.cs
- DrawingImage.cs
- DesignerDataTable.cs
- WebPartMenu.cs
- DbExpressionRules.cs
- UserNameSecurityToken.cs
- ConnectionStringSettingsCollection.cs
- SpotLight.cs
- FieldToken.cs
- SoapCommonClasses.cs
- AuthenticationModulesSection.cs
- PanelDesigner.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- BitmapEffectGeneralTransform.cs
- DecoderNLS.cs
- DataGridViewAccessibleObject.cs
- HttpModule.cs
- StorageMappingItemCollection.cs
- DeploymentSection.cs
- CommandSet.cs
- PathGradientBrush.cs
- RenderingEventArgs.cs
- DataSourceXmlSerializationAttribute.cs
- GenerateTemporaryTargetAssembly.cs
- PopupRootAutomationPeer.cs
- HttpModulesSection.cs
- TranslateTransform.cs
- XamlDesignerSerializationManager.cs
- ObjectListFieldCollection.cs
- X509SecurityToken.cs
- wgx_sdk_version.cs
- BaseDataListComponentEditor.cs
- COM2PictureConverter.cs
- CompilationUtil.cs
- HttpDebugHandler.cs
- OdbcDataReader.cs
- FixedBufferAttribute.cs
- Crc32Helper.cs
- SQLMoneyStorage.cs
- MultiByteCodec.cs
- SqlClientPermission.cs
- SimpleWebHandlerParser.cs
- FolderLevelBuildProviderCollection.cs
- ServiceModelEnumValidator.cs
- CheckoutException.cs
- CodeBinaryOperatorExpression.cs
- Grant.cs
- GlyphInfoList.cs
- WebContext.cs
- MasterPage.cs
- BulletDecorator.cs
- XsdBuildProvider.cs
- ValueConversionAttribute.cs
- documentsequencetextview.cs
- RadioButtonBaseAdapter.cs
- StateBag.cs
- OrderedDictionary.cs
- HttpRuntime.cs
- EventProviderTraceListener.cs
- GifBitmapDecoder.cs
- BaseInfoTable.cs
- IgnoreDeviceFilterElement.cs
- ProgressBar.cs
- Bidi.cs
- QilTargetType.cs
- Zone.cs
- BrowserCapabilitiesFactory.cs
- HttpCacheParams.cs
- ExtensionQuery.cs
- BindingCompleteEventArgs.cs
- XmlCDATASection.cs
- SHA1CryptoServiceProvider.cs
- DataReceivedEventArgs.cs
- Pkcs7Recipient.cs
- Debug.cs
- EventMetadata.cs
- InvalidFilterCriteriaException.cs
- BinaryObjectInfo.cs
- MutexSecurity.cs
- DbConnectionFactory.cs
- SqlFunctionAttribute.cs
- ScrollBarAutomationPeer.cs
- WindowsListViewGroupHelper.cs
- SoapFormatExtensions.cs
- TraceXPathNavigator.cs
- PermissionListSet.cs
- StyleXamlTreeBuilder.cs
- SurrogateSelector.cs
- ActivityCodeDomReferenceService.cs
- RepeaterItemEventArgs.cs
- Header.cs