Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWebControls / System / Data / WebControls / EntityDataSourceWrapperPropertyDescriptor.cs / 1305376 / EntityDataSourceWrapperPropertyDescriptor.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Data; using System.Configuration; using System.ComponentModel; using System.Data.Common; using System.Data.Metadata.Edm; using System.Reflection; using System.Data.Objects; using System.Data.Objects.DataClasses; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Collections.ObjectModel; using System.Text; namespace System.Web.UI.WebControls { ////// Wrapper property descriptor that handles access of nested members and /// entity reference keys. /// ////// This class essentially glues together a wrapper collection (roughly speaking /// the 'data' exposed by the control) and the column (which defines the metadata /// and behaviors for the current property). /// internal sealed class EntityDataSourceWrapperPropertyDescriptor : PropertyDescriptor { private readonly EntityDataSourceWrapperCollection _collection; private readonly EntityDataSourceColumn _column; internal EntityDataSourceWrapperPropertyDescriptor(EntityDataSourceWrapperCollection collection, EntityDataSourceColumn column) : base(EntityDataSourceUtil.CheckArgumentNull(column, "column").DisplayName, new Attribute[] { }) { EntityDataSourceUtil.CheckArgumentNull(collection, "collection"); _collection = collection; _column = column; } internal EntityDataSourceColumn Column { get { return _column; } } public override Type ComponentType { get { return _collection.ClrEntityType; } } public override bool IsReadOnly { get { return _collection.IsReadOnly || !_column.CanWrite; } } public override Type PropertyType { get { return _column.ClrType; } } public override bool CanResetValue(object component) { return false; } public override void ResetValue(object component) { throw new InvalidOperationException(Strings.ValueNotResettable(this.ComponentType.Name)); } public override object GetValue(object component) { return _column.GetValue(GetWrapper(component)); } public override void SetValue(object component, object value) { if (IsReadOnly) { throw new InvalidOperationException(Strings.SetValueNotSupported); } _column.SetValue(GetWrapper(component), value); } public override bool ShouldSerializeValue(object component) { return false; } private EntityDataSourceWrapper GetWrapper(object component) { // Validate that the component comes from the collection to which // this descriptor is bound. Elements of the collection are // non-null wrappers instances. EntityDataSourceUtil.CheckArgumentNull(component, "component"); EntityDataSourceWrapper wrapper = component as EntityDataSourceWrapper; if (null == wrapper || this._collection != wrapper.Collection) { throw new ArgumentException(Strings.ComponentNotFromProperCollection, "component"); } return wrapper; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Random.cs
- ArrayMergeHelper.cs
- Quad.cs
- MailFileEditor.cs
- ProfileModule.cs
- PasswordTextNavigator.cs
- FontStretch.cs
- TrustLevel.cs
- StdValidatorsAndConverters.cs
- TableAdapterManagerNameHandler.cs
- XmlDataSourceNodeDescriptor.cs
- Metafile.cs
- NotSupportedException.cs
- CachedFontFamily.cs
- SystemIPGlobalStatistics.cs
- DataGridViewRowPostPaintEventArgs.cs
- HttpGetProtocolReflector.cs
- ValidatingPropertiesEventArgs.cs
- DependencyObjectType.cs
- XmlSchemaProviderAttribute.cs
- LayoutDump.cs
- XmlIterators.cs
- CodeEntryPointMethod.cs
- RadioButton.cs
- Logging.cs
- CuspData.cs
- PassportIdentity.cs
- CalendarAutomationPeer.cs
- FilePrompt.cs
- ProviderManager.cs
- Point.cs
- SqlClientPermission.cs
- IISUnsafeMethods.cs
- XmlILModule.cs
- RegistrySecurity.cs
- CodeAccessPermission.cs
- FileStream.cs
- SqlConnectionStringBuilder.cs
- DocumentSignatureManager.cs
- Normalization.cs
- OneOfTypeConst.cs
- FixedSOMLineCollection.cs
- Transactions.cs
- SqlDataRecord.cs
- Enlistment.cs
- CriticalFileToken.cs
- WebPartZone.cs
- ExtensionSimplifierMarkupObject.cs
- WebBrowserDocumentCompletedEventHandler.cs
- PeerApplication.cs
- WaitHandleCannotBeOpenedException.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- GridViewSelectEventArgs.cs
- Int64Storage.cs
- Inflater.cs
- DataObjectPastingEventArgs.cs
- NavigatingCancelEventArgs.cs
- CustomWebEventKey.cs
- DoubleLink.cs
- AppearanceEditorPart.cs
- BoundingRectTracker.cs
- DrawingDrawingContext.cs
- GatewayIPAddressInformationCollection.cs
- ActivatableWorkflowsQueryResult.cs
- Compiler.cs
- PointLightBase.cs
- PrintDialog.cs
- DataTableMapping.cs
- ForwardPositionQuery.cs
- VerificationException.cs
- AttachmentCollection.cs
- ToolZone.cs
- activationcontext.cs
- DateTimeValueSerializerContext.cs
- XmlSchemaNotation.cs
- CqlLexer.cs
- EventWaitHandleSecurity.cs
- XmlIlVisitor.cs
- HtmlSelect.cs
- assemblycache.cs
- GPPOINT.cs
- ContainerActivationHelper.cs
- FileSystemEnumerable.cs
- ProfilePropertySettingsCollection.cs
- CorrelationQueryBehavior.cs
- SizeChangedEventArgs.cs
- CompiledQueryCacheKey.cs
- Literal.cs
- XamlPoint3DCollectionSerializer.cs
- ArgumentOutOfRangeException.cs
- AuthenticationModuleElementCollection.cs
- ApplicationTrust.cs
- XmlSchemaSimpleTypeList.cs
- SizeConverter.cs
- MruCache.cs
- CookieHandler.cs
- NullableBoolConverter.cs
- DesignerOptions.cs
- XmlValidatingReader.cs
- InternalConfirm.cs