Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / 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. //---------------------------------------------------------------------------- // // 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
- EncodingStreamWrapper.cs
- VisualProxy.cs
- DataServiceQuery.cs
- ZoneMembershipCondition.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- EdmSchemaAttribute.cs
- SoapException.cs
- UpdatePanelControlTrigger.cs
- DataRelationCollection.cs
- ClientCultureInfo.cs
- DeclaredTypeElementCollection.cs
- RightsManagementInformation.cs
- OptimizedTemplateContent.cs
- HttpRequestTraceRecord.cs
- EdmScalarPropertyAttribute.cs
- NavigationHelper.cs
- LogStore.cs
- BitmapSource.cs
- HitTestWithGeometryDrawingContextWalker.cs
- SecurityTokenValidationException.cs
- AssemblyInfo.cs
- MouseActionConverter.cs
- ArrayConverter.cs
- SingleAnimation.cs
- ExtenderHelpers.cs
- FileEnumerator.cs
- ContainerFilterService.cs
- Baml2006KeyRecord.cs
- TableAdapterManagerMethodGenerator.cs
- ListMarkerSourceInfo.cs
- DropTarget.cs
- Bidi.cs
- SystemIcmpV6Statistics.cs
- SettingsProperty.cs
- ImageMap.cs
- EntityDataSourceQueryBuilder.cs
- DataBinder.cs
- Byte.cs
- IUnknownConstantAttribute.cs
- XmlDictionaryString.cs
- DataGridAddNewRow.cs
- TraceEventCache.cs
- TimeStampChecker.cs
- OperatingSystem.cs
- PingReply.cs
- XomlSerializationHelpers.cs
- Util.cs
- PrivateFontCollection.cs
- XamlParser.cs
- RTLAwareMessageBox.cs
- SystemColors.cs
- XmlILConstructAnalyzer.cs
- RectangleConverter.cs
- SemanticBasicElement.cs
- LinearKeyFrames.cs
- ImageBrush.cs
- XsdDataContractImporter.cs
- wgx_render.cs
- WindowInteropHelper.cs
- TimeSpanConverter.cs
- cookiecontainer.cs
- StaticTextPointer.cs
- DocumentPageTextView.cs
- HttpInputStream.cs
- RawStylusInputCustomData.cs
- ColorPalette.cs
- FaultHandlingFilter.cs
- CodeFieldReferenceExpression.cs
- SQLCharsStorage.cs
- NameValuePermission.cs
- FixedSOMTextRun.cs
- RawStylusActions.cs
- _WinHttpWebProxyDataBuilder.cs
- FileDialogCustomPlacesCollection.cs
- ModelItemCollection.cs
- PartialTrustHelpers.cs
- GacUtil.cs
- QilBinary.cs
- GAC.cs
- WebBrowsableAttribute.cs
- ErrorFormatterPage.cs
- Component.cs
- SqlTopReducer.cs
- ConfigurationStrings.cs
- httpstaticobjectscollection.cs
- InkCanvasInnerCanvas.cs
- CodeCompiler.cs
- OrderedDictionaryStateHelper.cs
- Italic.cs
- TextElementEditingBehaviorAttribute.cs
- DiscriminatorMap.cs
- Evidence.cs
- FixedHyperLink.cs
- MobileResource.cs
- Queue.cs
- RegistryExceptionHelper.cs
- IISUnsafeMethods.cs
- MultiView.cs
- SqlFunctionAttribute.cs
- MessageSecurityOverHttpElement.cs