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
- GridViewSortEventArgs.cs
- JsonSerializer.cs
- TcpClientCredentialType.cs
- WindowsAuthenticationModule.cs
- SafeHandle.cs
- ClientSponsor.cs
- ClusterUtils.cs
- LoginCancelEventArgs.cs
- CodeTypeConstructor.cs
- SqlStream.cs
- QueryCursorEventArgs.cs
- InputLanguage.cs
- MetafileEditor.cs
- ListItemParagraph.cs
- CreateUserWizard.cs
- Closure.cs
- SecurityHeaderTokenResolver.cs
- SoapElementAttribute.cs
- CopyAction.cs
- AtomMaterializer.cs
- DefaultMemberAttribute.cs
- RenderCapability.cs
- DrawingVisualDrawingContext.cs
- KeyValueSerializer.cs
- OleStrCAMarshaler.cs
- ZipFileInfoCollection.cs
- Size.cs
- CmsInterop.cs
- Pts.cs
- VirtualPathUtility.cs
- IconHelper.cs
- XPathBuilder.cs
- InvalidWMPVersionException.cs
- DataBoundControlHelper.cs
- CorruptingExceptionCommon.cs
- cache.cs
- AutoResetEvent.cs
- InputBindingCollection.cs
- MessageContractMemberAttribute.cs
- ClientScriptManager.cs
- DataGridColumnCollectionEditor.cs
- ResolveResponse.cs
- UIElement3D.cs
- ConstNode.cs
- ComplexBindingPropertiesAttribute.cs
- FixedSOMTable.cs
- AuthorizationRuleCollection.cs
- SafeFileHandle.cs
- SettingsProviderCollection.cs
- ConfigPathUtility.cs
- MessageProtectionOrder.cs
- ScriptingAuthenticationServiceSection.cs
- SqlClientMetaDataCollectionNames.cs
- PerfCounterSection.cs
- PixelFormatConverter.cs
- BlurBitmapEffect.cs
- ActivityDesignerResources.cs
- CacheAxisQuery.cs
- FixedSOMPage.cs
- EntityCommandDefinition.cs
- Composition.cs
- GeneratedCodeAttribute.cs
- ParameterExpression.cs
- AnnotationMap.cs
- GridViewPageEventArgs.cs
- DefaultValueTypeConverter.cs
- RegexGroupCollection.cs
- AxImporter.cs
- Label.cs
- TypefaceMap.cs
- MtomMessageEncodingBindingElement.cs
- FixedSOMTableRow.cs
- ErrorFormatterPage.cs
- Util.cs
- VirtualDirectoryMappingCollection.cs
- Cell.cs
- TableRowCollection.cs
- SafeArrayRankMismatchException.cs
- Substitution.cs
- SystemUdpStatistics.cs
- PageCache.cs
- CheckBoxField.cs
- BrowserDefinitionCollection.cs
- CryptographicAttribute.cs
- SchemaImporterExtensionsSection.cs
- XamlNamespaceHelper.cs
- Point3DValueSerializer.cs
- PropertyGrid.cs
- Membership.cs
- DbConnectionOptions.cs
- EastAsianLunisolarCalendar.cs
- ClosableStream.cs
- ZipIOCentralDirectoryBlock.cs
- CompoundFileStorageReference.cs
- SQLMoney.cs
- DaylightTime.cs
- precedingsibling.cs
- InheritanceRules.cs
- Interlocked.cs
- PriorityBinding.cs