Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / BaseTypeViewSchema.cs / 1 / BaseTypeViewSchema.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design { using System; using System.Collections; using System.ComponentModel; using System.Diagnostics; using System.Reflection; ////// Represents a view's schema based on a Type object retrieved /// through Reflection. This is the base class for several view schema /// types. /// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags = System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)] internal abstract class BaseTypeViewSchema : IDataSourceViewSchema { private Type _type; private string _viewName; protected BaseTypeViewSchema(string viewName, Type type) { Debug.Assert(type != null); _type = type; _viewName = viewName; } public IDataSourceFieldSchema[] GetFields() { // Search for indexer property System.Collections.Generic.Listfields = new System.Collections.Generic.List (); Type rowType = GetRowType(_type); if (rowType != null) { // We specifically don't get schema when the type implements // ICustomTypeDescriptor since it is unlikely to have the // correct schema at design time. if (!typeof(ICustomTypeDescriptor).IsAssignableFrom(rowType)) { PropertyDescriptorCollection rowProperties = TypeDescriptor.GetProperties(rowType); foreach (PropertyDescriptor rowProperty in rowProperties) { fields.Add(new TypeFieldSchema(rowProperty)); } } } return fields.ToArray(); } public IDataSourceViewSchema[] GetChildren() { return null; } /// /// Derived classes must implement this method to retrieve the row /// type for a given object types. For example, in a strongly typed /// DataTable the row type would be the strongly typed DataRow. /// protected abstract Type GetRowType(Type objectType); public string Name { get { return _viewName; } } } } // 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
- SaveCardRequest.cs
- TreeNodeStyleCollection.cs
- AssemblyNameEqualityComparer.cs
- HostnameComparisonMode.cs
- AttributeAction.cs
- Vector.cs
- GeneratedCodeAttribute.cs
- CodeArgumentReferenceExpression.cs
- XpsLiterals.cs
- URLString.cs
- ipaddressinformationcollection.cs
- XslCompiledTransform.cs
- EntityDataSourceContextCreatingEventArgs.cs
- LinkConverter.cs
- ReachPageContentSerializerAsync.cs
- ViewStateChangedEventArgs.cs
- Message.cs
- FormViewUpdateEventArgs.cs
- GuidConverter.cs
- HttpResponseHeader.cs
- SelectorItemAutomationPeer.cs
- TreeNode.cs
- ConnectionPointCookie.cs
- ReturnEventArgs.cs
- PageRequestManager.cs
- EndpointDispatcherTable.cs
- ITextView.cs
- TableRowCollection.cs
- WebPartsSection.cs
- DeflateStream.cs
- ButtonChrome.cs
- SerializationSectionGroup.cs
- ServicePoint.cs
- __Error.cs
- CompilationLock.cs
- DataGridViewCellFormattingEventArgs.cs
- JavaScriptString.cs
- Label.cs
- SecurityContext.cs
- _HeaderInfoTable.cs
- OSEnvironmentHelper.cs
- EncryptedKey.cs
- DesignerActionKeyboardBehavior.cs
- TextPointer.cs
- DisplayNameAttribute.cs
- HMACMD5.cs
- PixelFormatConverter.cs
- ImageFormat.cs
- ListViewPagedDataSource.cs
- XmlUnspecifiedAttribute.cs
- ServiceOperation.cs
- TearOffProxy.cs
- ProfileSection.cs
- Win32SafeHandles.cs
- ExclusiveCanonicalizationTransform.cs
- StaticDataManager.cs
- EdmMember.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- Maps.cs
- SafeNativeMethods.cs
- DesignBindingConverter.cs
- AnchorEditor.cs
- MenuScrollingVisibilityConverter.cs
- BindingList.cs
- EntityDataSourceQueryBuilder.cs
- FormViewCommandEventArgs.cs
- NameGenerator.cs
- EventDrivenDesigner.cs
- OdbcCommand.cs
- RectangleConverter.cs
- CodeDomConfigurationHandler.cs
- ColorBlend.cs
- TraceSource.cs
- BrowserTree.cs
- DataGridViewButtonColumn.cs
- MembershipUser.cs
- HierarchicalDataBoundControl.cs
- ErrorRuntimeConfig.cs
- LayoutTable.cs
- ObjectFullSpanRewriter.cs
- MissingMethodException.cs
- XmlSchemaSet.cs
- PeerChannelListener.cs
- PropertyValueChangedEvent.cs
- StructuredTypeEmitter.cs
- OleServicesContext.cs
- FormViewRow.cs
- RadioButtonList.cs
- DetailsViewModeEventArgs.cs
- DrawListViewItemEventArgs.cs
- TableItemProviderWrapper.cs
- HighContrastHelper.cs
- ComEventsMethod.cs
- EntityDataSourceValidationException.cs
- CachedBitmap.cs
- QilInvokeEarlyBound.cs
- CacheRequest.cs
- WebExceptionStatus.cs
- MatrixTransform3D.cs
- AttributeCollection.cs