Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / DeferredReference.cs / 1305600 / 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
- ExpanderAutomationPeer.cs
- BasicViewGenerator.cs
- EpmSourcePathSegment.cs
- CustomError.cs
- Helpers.cs
- CurrencyManager.cs
- MergeFailedEvent.cs
- EntityDataSourceSelectingEventArgs.cs
- DataTableReaderListener.cs
- OracleParameterBinding.cs
- InternalConfigHost.cs
- WsatTransactionInfo.cs
- TextParaClient.cs
- ObjectParameterCollection.cs
- XmlNamedNodeMap.cs
- NativeMethods.cs
- AccessorTable.cs
- WindowsStatusBar.cs
- VSWCFServiceContractGenerator.cs
- AssociationSetEnd.cs
- GridViewDeletedEventArgs.cs
- DataShape.cs
- IdnMapping.cs
- SymbolMethod.cs
- OracleFactory.cs
- TimeSpanOrInfiniteConverter.cs
- DesignerSerializerAttribute.cs
- AppModelKnownContentFactory.cs
- PartialArray.cs
- MsmqPoisonMessageException.cs
- ObjectStorage.cs
- SupportsPreviewControlAttribute.cs
- DataGridViewComboBoxCell.cs
- ValidatedControlConverter.cs
- TrackingStringDictionary.cs
- MessageBox.cs
- TextRangeEdit.cs
- LocatorPart.cs
- ConditionalBranch.cs
- PointHitTestParameters.cs
- KeyboardEventArgs.cs
- RotationValidation.cs
- XMLDiffLoader.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- ColorTransform.cs
- Int32KeyFrameCollection.cs
- NegotiateStream.cs
- PrimitiveXmlSerializers.cs
- RequestQueue.cs
- RequestChannel.cs
- SmtpClient.cs
- DynamicMethod.cs
- JavascriptXmlWriterWrapper.cs
- TableAdapterManagerMethodGenerator.cs
- ThicknessConverter.cs
- MemberJoinTreeNode.cs
- ConsumerConnectionPoint.cs
- ProcessThreadCollection.cs
- SqlStatistics.cs
- ColorTransform.cs
- SystemResourceKey.cs
- XhtmlConformanceSection.cs
- ApplicationHost.cs
- EditorZone.cs
- StorageComplexPropertyMapping.cs
- RequestCacheEntry.cs
- DrawingBrush.cs
- ResourceManager.cs
- DataGridViewColumnCollection.cs
- InfoCardSymmetricCrypto.cs
- DataGridItemEventArgs.cs
- VScrollProperties.cs
- FixUp.cs
- EarlyBoundInfo.cs
- XsdDataContractExporter.cs
- StreamingContext.cs
- PrinterSettings.cs
- AssemblyCollection.cs
- DomainConstraint.cs
- COM2IPerPropertyBrowsingHandler.cs
- InternalBase.cs
- ADMembershipUser.cs
- BStrWrapper.cs
- EdmToObjectNamespaceMap.cs
- CustomCategoryAttribute.cs
- MexTcpBindingCollectionElement.cs
- ByteStreamMessageEncoderFactory.cs
- GenericsInstances.cs
- SQLResource.cs
- ExceptionUtil.cs
- ParameterExpression.cs
- DbMetaDataColumnNames.cs
- OdbcException.cs
- BaseServiceProvider.cs
- SqlError.cs
- IPGlobalProperties.cs
- HMACMD5.cs
- FontNamesConverter.cs
- PermissionListSet.cs
- InkCanvasInnerCanvas.cs