Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- StdValidatorsAndConverters.cs
- SoapSchemaImporter.cs
- ClientCultureInfo.cs
- PointLightBase.cs
- Action.cs
- GlyphCache.cs
- ConfigurationSectionCollection.cs
- SectionVisual.cs
- WebPartZoneCollection.cs
- Rect3DConverter.cs
- GenericWebPart.cs
- TextEditorDragDrop.cs
- SortQuery.cs
- TogglePatternIdentifiers.cs
- ELinqQueryState.cs
- _UriTypeConverter.cs
- FileUpload.cs
- ContentOperations.cs
- ADConnectionHelper.cs
- bidPrivateBase.cs
- SHA384.cs
- RestHandler.cs
- TextEditorLists.cs
- AutomationPropertyChangedEventArgs.cs
- SolidColorBrush.cs
- ClientProtocol.cs
- TransformProviderWrapper.cs
- NominalTypeEliminator.cs
- ServiceDescriptionSerializer.cs
- LinkedResourceCollection.cs
- GenerateHelper.cs
- _SecureChannel.cs
- RegionData.cs
- AuthenticatedStream.cs
- OwnerDrawPropertyBag.cs
- PlainXmlSerializer.cs
- PassportAuthenticationEventArgs.cs
- ObjRef.cs
- updatecommandorderer.cs
- Transaction.cs
- Transform3D.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- WindowsFormsHelpers.cs
- IFlowDocumentViewer.cs
- SimpleApplicationHost.cs
- GeneralTransformGroup.cs
- EventInfo.cs
- JoinTreeSlot.cs
- OneOfConst.cs
- URLString.cs
- SchemaNamespaceManager.cs
- SdlChannelSink.cs
- TimeSpanOrInfiniteConverter.cs
- ParserExtension.cs
- AttributeCollection.cs
- AlignmentYValidation.cs
- InkPresenter.cs
- OracleConnectionFactory.cs
- TraceListeners.cs
- UpDownBase.cs
- SystemResources.cs
- SoapDocumentServiceAttribute.cs
- EntityDataSourceWrapper.cs
- GeometryValueSerializer.cs
- ArrayHelper.cs
- DataViewSettingCollection.cs
- FileDialog_Vista_Interop.cs
- EndpointAddressMessageFilter.cs
- DataStreamFromComStream.cs
- keycontainerpermission.cs
- SubstitutionResponseElement.cs
- BitmapFrameDecode.cs
- JpegBitmapDecoder.cs
- HttpRequestWrapper.cs
- X509Utils.cs
- X509CertificateCollection.cs
- ObjectNavigationPropertyMapping.cs
- SingleSelectRootGridEntry.cs
- FloaterParaClient.cs
- SettingsPropertyCollection.cs
- UITypeEditor.cs
- WindowsFont.cs
- CompoundFileIOPermission.cs
- Drawing.cs
- WebSysDescriptionAttribute.cs
- SqlMethodTransformer.cs
- dbenumerator.cs
- StringAnimationUsingKeyFrames.cs
- SoapFormatterSinks.cs
- SoapObjectInfo.cs
- EncryptedKeyHashIdentifierClause.cs
- HttpConfigurationContext.cs
- TextWriter.cs
- PrintEvent.cs
- SchemaAttDef.cs
- SafeCryptoHandles.cs
- AdapterUtil.cs
- FrameSecurityDescriptor.cs
- MetaModel.cs
- FixedSOMContainer.cs