Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / ComponentModel / CustomTypeDescriptor.cs / 1 / CustomTypeDescriptor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.ComponentModel { using System; using System.Security.Permissions; ////// [HostProtection(SharedState = true)] public abstract class CustomTypeDescriptor : ICustomTypeDescriptor { private ICustomTypeDescriptor _parent; ////// Creates a new CustomTypeDescriptor object. There are two versions /// of this constructor. The version that takes no parameters simply /// calls the version that takes a parent and passes null as the /// parent value. If the parent is null, CustomTypeDescriptor returns /// the defined default values for each method. If the parent is /// non-null, CustomTypeDescriptor calls the parent's version of /// the method. /// protected CustomTypeDescriptor() { } ////// Creates a new CustomTypeDescriptor object. There are two versions /// of this constructor. The version that takes no parameters simply /// calls the version that takes a parent and passes null as the /// parent value. If the parent is null, CustomTypeDescriptor returns /// the defined default values for each method. If the parent is /// non-null, CustomTypeDescriptor calls the parent's version of /// the method. /// protected CustomTypeDescriptor(ICustomTypeDescriptor parent) { _parent = parent; } ////// The GetAttributes method returns the type-level attributes for /// the type this custom type descriptor is providing information for. /// You must always return a valid collection from this method. /// public virtual AttributeCollection GetAttributes() { if (_parent != null) { return _parent.GetAttributes(); } return AttributeCollection.Empty; } ////// The GetClassName method returns the fully qualified name of the /// class this type descriptor is representing. Returning null from /// this method causes the TypeDescriptor object to return the /// default class name. /// public virtual string GetClassName() { if (_parent != null) { return _parent.GetClassName(); } return null; } ////// The GetComponentName method returns the name of the component instance /// this type descriptor is describing. /// public virtual string GetComponentName() { if (_parent != null) { return _parent.GetComponentName(); } return null; } ////// The GetConverter method returns a type converter for the type this type /// descriptor is representing. /// public virtual TypeConverter GetConverter() { if (_parent != null) { return _parent.GetConverter(); } return new TypeConverter(); } ////// The GetDefaultEvent method returns the event descriptor for the default /// event on the object this type descriptor is representing. /// public virtual EventDescriptor GetDefaultEvent() { if (_parent != null) { return _parent.GetDefaultEvent(); } return null; } ////// The GetDefaultProperty method returns the property descriptor for the /// default property on the object this type descriptor is representing. /// public virtual PropertyDescriptor GetDefaultProperty() { if (_parent != null) { return _parent.GetDefaultProperty(); } return null; } ////// The GetEditor method returns an editor of the given type that is /// to be associated with the class this type descriptor is representing. /// public virtual object GetEditor(Type editorBaseType) { if (_parent != null) { return _parent.GetEditor(editorBaseType); } return null; } ////// The GetEvents method returns a collection of event descriptors /// for the object this type descriptor is representing. An optional /// attribute array may be provided to filter the collection that is /// returned. If no parent is provided,this will return an empty /// event collection. /// public virtual EventDescriptorCollection GetEvents() { if (_parent != null) { return _parent.GetEvents(); } return EventDescriptorCollection.Empty; } ////// The GetEvents method returns a collection of event descriptors /// for the object this type descriptor is representing. An optional /// attribute array may be provided to filter the collection that is /// returned. If no parent is provided,this will return an empty /// event collection. /// public virtual EventDescriptorCollection GetEvents(Attribute[] attributes) { if (_parent != null) { return _parent.GetEvents(attributes); } return EventDescriptorCollection.Empty; } ////// The GetProperties method returns a collection of property descriptors /// for the object this type descriptor is representing. An optional /// attribute array may be provided to filter the collection that is returned. /// If no parent is provided,this will return an empty /// property collection. /// public virtual PropertyDescriptorCollection GetProperties() { if (_parent != null) { return _parent.GetProperties(); } return PropertyDescriptorCollection.Empty; } ////// The GetProperties method returns a collection of property descriptors /// for the object this type descriptor is representing. An optional /// attribute array may be provided to filter the collection that is returned. /// If no parent is provided,this will return an empty /// property collection. /// public virtual PropertyDescriptorCollection GetProperties(Attribute[] attributes) { if (_parent != null) { return _parent.GetProperties(attributes); } return PropertyDescriptorCollection.Empty; } ////// The GetPropertyOwner method returns an instance of an object that /// owns the given property for the object this type descriptor is representing. /// An optional attribute array may be provided to filter the collection that is /// returned. Returning null from this method causes the TypeDescriptor object /// to use its default type description services. /// public virtual object GetPropertyOwner(PropertyDescriptor pd) { if (_parent != null) { return _parent.GetPropertyOwner(pd); } return null; } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EpmAttributeNameBuilder.cs
- Vertex.cs
- GetWinFXPath.cs
- EntityKey.cs
- CodePropertyReferenceExpression.cs
- LayoutEngine.cs
- Timer.cs
- Array.cs
- WeakReferenceKey.cs
- ImagingCache.cs
- XmlSchemaObjectCollection.cs
- DocobjHost.cs
- XmlBinaryReader.cs
- LinkedResourceCollection.cs
- SoapInteropTypes.cs
- AttributeQuery.cs
- BezierSegment.cs
- MetadataAssemblyHelper.cs
- CodeCompiler.cs
- Stroke.cs
- VisualStateChangedEventArgs.cs
- CalendarTable.cs
- UseLicense.cs
- Set.cs
- MultilineStringConverter.cs
- DataControlButton.cs
- ToolStripMenuItem.cs
- ParagraphResult.cs
- XmlNodeComparer.cs
- SchemaConstraints.cs
- ArraySegment.cs
- controlskin.cs
- BooleanProjectedSlot.cs
- HtmlEmptyTagControlBuilder.cs
- ButtonBaseAutomationPeer.cs
- EarlyBoundInfo.cs
- WebMessageFormatHelper.cs
- LocalizationComments.cs
- selecteditemcollection.cs
- ParserContext.cs
- LineServicesRun.cs
- XmlNavigatorStack.cs
- InkCanvasAutomationPeer.cs
- WindowProviderWrapper.cs
- ChannelPoolSettingsElement.cs
- InvokeMethodActivity.cs
- XmlDocumentType.cs
- HttpCacheParams.cs
- MetabaseSettings.cs
- FrameworkElementAutomationPeer.cs
- CopyOnWriteList.cs
- Rule.cs
- SafeLibraryHandle.cs
- FlowDocumentReader.cs
- SetIterators.cs
- UnsafeNativeMethodsPenimc.cs
- OracleEncoding.cs
- InstallerTypeAttribute.cs
- AudioDeviceOut.cs
- DrawingContextDrawingContextWalker.cs
- CalloutQueueItem.cs
- ParagraphVisual.cs
- ExternalFile.cs
- SystemEvents.cs
- AssociatedControlConverter.cs
- WebHeaderCollection.cs
- CorrelationValidator.cs
- xsdvalidator.cs
- XmlSchemaAnnotation.cs
- OdbcTransaction.cs
- MSAAWinEventWrap.cs
- ResetableIterator.cs
- DrawingServices.cs
- DataGridViewRowCancelEventArgs.cs
- WindowsAuthenticationModule.cs
- StringBuilder.cs
- UMPAttributes.cs
- DataRowCollection.cs
- DesignerSerializationVisibilityAttribute.cs
- PtsHelper.cs
- DataGridViewCellPaintingEventArgs.cs
- RefExpr.cs
- ValidatorCompatibilityHelper.cs
- SqlDataSourceFilteringEventArgs.cs
- TemplatePartAttribute.cs
- SessionStateContainer.cs
- WebPartZoneDesigner.cs
- XmlIlVisitor.cs
- SecurityCapabilities.cs
- XsltConvert.cs
- SqlTransaction.cs
- CodeSpit.cs
- MembershipUser.cs
- LinearQuaternionKeyFrame.cs
- Typeface.cs
- LineServicesRun.cs
- HitTestDrawingContextWalker.cs
- Clock.cs
- EndOfStreamException.cs
- VectorAnimationUsingKeyFrames.cs