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
- ResolvedKeyFrameEntry.cs
- Config.cs
- SynchronizationFilter.cs
- CompModSwitches.cs
- MILUtilities.cs
- CodeSubDirectory.cs
- SendKeys.cs
- DurationConverter.cs
- StringStorage.cs
- FileAuthorizationModule.cs
- autovalidator.cs
- DataGridViewHitTestInfo.cs
- ClientSponsor.cs
- HtmlControl.cs
- ToolStripSeparatorRenderEventArgs.cs
- DataComponentMethodGenerator.cs
- SpeechSynthesizer.cs
- PeerNameRecordCollection.cs
- Event.cs
- AuthorizationRule.cs
- Bezier.cs
- KeyboardNavigation.cs
- FrameworkPropertyMetadata.cs
- DynamicAttribute.cs
- FileNotFoundException.cs
- HashHelper.cs
- sapiproxy.cs
- DataGridViewRowEventArgs.cs
- Errors.cs
- ChildrenQuery.cs
- QilName.cs
- SystemFonts.cs
- ChangeProcessor.cs
- InternalCache.cs
- ConnectorEditor.cs
- ConfigurationConverterBase.cs
- QuaternionRotation3D.cs
- EdmConstants.cs
- ListViewCancelEventArgs.cs
- propertytag.cs
- _CommandStream.cs
- WebRequestModuleElementCollection.cs
- SrgsRulesCollection.cs
- XmlAttributeProperties.cs
- CodeFieldReferenceExpression.cs
- MachineKeyConverter.cs
- FormViewCommandEventArgs.cs
- mongolianshape.cs
- ServiceDesigner.cs
- WasEndpointConfigContainer.cs
- DetailsViewRowCollection.cs
- MailHeaderInfo.cs
- DataChangedEventManager.cs
- ActivityMarkupSerializationProvider.cs
- SafeHandles.cs
- DropDownButton.cs
- InternalCache.cs
- HttpMethodConstraint.cs
- ObjectViewFactory.cs
- Keyboard.cs
- SmtpTransport.cs
- RepeaterItemCollection.cs
- WebPartChrome.cs
- WebPartConnectVerb.cs
- SkipStoryboardToFill.cs
- ChangesetResponse.cs
- CompositeDataBoundControl.cs
- Visual3D.cs
- SchemaReference.cs
- UnknownBitmapEncoder.cs
- PerformanceCounterPermissionEntryCollection.cs
- PeerApplication.cs
- SystemDiagnosticsSection.cs
- AccessDataSource.cs
- ClusterRegistryConfigurationProvider.cs
- ToolboxSnapDragDropEventArgs.cs
- ContainerControl.cs
- DropShadowBitmapEffect.cs
- IIS7UserPrincipal.cs
- StandardCommands.cs
- ScriptResourceInfo.cs
- TreeNodeConverter.cs
- DynamicObject.cs
- ProtocolElement.cs
- HttpRawResponse.cs
- ToolStripContainerDesigner.cs
- ShaperBuffers.cs
- FileUpload.cs
- SystemKeyConverter.cs
- DbSourceCommand.cs
- DateTimeFormatInfoScanner.cs
- EntityDataSourceWizardForm.cs
- PropertyGridEditorPart.cs
- XmlSerializationGeneratedCode.cs
- AgileSafeNativeMemoryHandle.cs
- RequestCache.cs
- SqlNamer.cs
- TimersDescriptionAttribute.cs
- SelectingProviderEventArgs.cs
- DataGridViewToolTip.cs