Code:
/ FX-1434 / FX-1434 / 1.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
- EmissiveMaterial.cs
- LinearQuaternionKeyFrame.cs
- DecoderFallbackWithFailureFlag.cs
- SecurityTokenResolver.cs
- ConnectionPool.cs
- CompiledQueryCacheKey.cs
- BookmarkScopeInfo.cs
- LeftCellWrapper.cs
- PointIndependentAnimationStorage.cs
- Rect3DConverter.cs
- DesignerTransaction.cs
- Rectangle.cs
- HTMLTagNameToTypeMapper.cs
- _AutoWebProxyScriptEngine.cs
- ApplicationServiceHelper.cs
- DesignConnectionCollection.cs
- TransformedBitmap.cs
- DataGridTextBoxColumn.cs
- XmlWriterSettings.cs
- Pts.cs
- SqlDataReader.cs
- CodeSpit.cs
- Object.cs
- RenderData.cs
- CheckPair.cs
- RestHandlerFactory.cs
- LineSegment.cs
- DbCommandDefinition.cs
- ZipIOCentralDirectoryFileHeader.cs
- XmlAttributes.cs
- DataPager.cs
- BehaviorDragDropEventArgs.cs
- OrderByBuilder.cs
- BehaviorDragDropEventArgs.cs
- WrapperSecurityCommunicationObject.cs
- StopRoutingHandler.cs
- XPathSelectionIterator.cs
- TouchesOverProperty.cs
- RegexWorker.cs
- JsonQNameDataContract.cs
- BuildManagerHost.cs
- ToolBar.cs
- AssociationTypeEmitter.cs
- EmptyStringExpandableObjectConverter.cs
- SecureConversationDriver.cs
- EnumType.cs
- ReflectTypeDescriptionProvider.cs
- mediaeventargs.cs
- ListSourceHelper.cs
- XPathNavigatorKeyComparer.cs
- TextRange.cs
- PerformanceCounterPermissionEntryCollection.cs
- XmlSchemaComplexContent.cs
- MenuAdapter.cs
- QilFactory.cs
- CommandSet.cs
- InvalidComObjectException.cs
- WebHttpSecurity.cs
- ConfigurationSectionCollection.cs
- TableItemStyle.cs
- TypeConstant.cs
- InvalidContentTypeException.cs
- ClientRuntimeConfig.cs
- SqlDataSourceSelectingEventArgs.cs
- CodeDomExtensionMethods.cs
- SqlMethods.cs
- UrlPath.cs
- UrlAuthorizationModule.cs
- SQLGuidStorage.cs
- Animatable.cs
- XamlWriter.cs
- AuthorizationRule.cs
- InheritanceRules.cs
- TdsParameterSetter.cs
- PageContent.cs
- Int64Storage.cs
- DynamicResourceExtension.cs
- DataGridColumnFloatingHeader.cs
- PropertyConverter.cs
- HyperLink.cs
- XmlChildNodes.cs
- Parsers.cs
- SegmentInfo.cs
- PreProcessor.cs
- DSACryptoServiceProvider.cs
- Geometry.cs
- Vector3DAnimationBase.cs
- AVElementHelper.cs
- QueryResponse.cs
- DataGridRow.cs
- VolatileEnlistmentMultiplexing.cs
- HwndSourceParameters.cs
- MetadataPropertyvalue.cs
- FastPropertyAccessor.cs
- DesignTimeVisibleAttribute.cs
- DESCryptoServiceProvider.cs
- ListViewCommandEventArgs.cs
- Transform3D.cs
- HttpProfileBase.cs
- HttpCachePolicy.cs