Code:
/ DotNET / DotNET / 8.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
- EntityDataSourceDesigner.cs
- CharacterMetricsDictionary.cs
- DataRecordObjectView.cs
- SqlConnectionHelper.cs
- ButtonChrome.cs
- BitSet.cs
- ListSortDescriptionCollection.cs
- ColumnProvider.cs
- LocalizationCodeDomSerializer.cs
- errorpatternmatcher.cs
- TemplateNameScope.cs
- DesignConnectionCollection.cs
- SoapWriter.cs
- Int32EqualityComparer.cs
- MappingModelBuildProvider.cs
- StaticExtensionConverter.cs
- DoubleIndependentAnimationStorage.cs
- LeaseManager.cs
- Control.cs
- ToolStripDesignerUtils.cs
- ClientEventManager.cs
- AnnotationComponentManager.cs
- NestPullup.cs
- DesignerActionMethodItem.cs
- HotSpotCollection.cs
- TripleDESCryptoServiceProvider.cs
- NumberEdit.cs
- XmlComment.cs
- QueueSurrogate.cs
- BlockUIContainer.cs
- PageThemeCodeDomTreeGenerator.cs
- SqlSelectStatement.cs
- AppSettingsExpressionBuilder.cs
- SystemColorTracker.cs
- IssuanceLicense.cs
- ReferentialConstraintRoleElement.cs
- EditorBrowsableAttribute.cs
- ReadOnlyNameValueCollection.cs
- ContainerFilterService.cs
- LinqMaximalSubtreeNominator.cs
- LayoutTableCell.cs
- WebBodyFormatMessageProperty.cs
- WMICapabilities.cs
- LocalValueEnumerator.cs
- ResourceBinder.cs
- WebConfigurationHostFileChange.cs
- XmlExtensionFunction.cs
- _NegoState.cs
- ObjectDataSourceMethodEventArgs.cs
- NgenServicingAttributes.cs
- documentsequencetextcontainer.cs
- StyleCollection.cs
- QueryPageSettingsEventArgs.cs
- CommandLibraryHelper.cs
- DbParameterCollectionHelper.cs
- BinaryMethodMessage.cs
- CollectionsUtil.cs
- XmlSchemaExternal.cs
- OracleTimeSpan.cs
- DeobfuscatingStream.cs
- HwndMouseInputProvider.cs
- StrongTypingException.cs
- SQLDecimal.cs
- MobileCapabilities.cs
- GB18030Encoding.cs
- MouseEventArgs.cs
- XmlBoundElement.cs
- SpinLock.cs
- ParsedAttributeCollection.cs
- RuntimeWrappedException.cs
- ExpressionConverter.cs
- SwitchElementsCollection.cs
- EntryWrittenEventArgs.cs
- initElementDictionary.cs
- FilteredReadOnlyMetadataCollection.cs
- ResolvedKeyFrameEntry.cs
- GeometryValueSerializer.cs
- Columns.cs
- OdbcRowUpdatingEvent.cs
- TypeConverter.cs
- ConnectionString.cs
- CanonicalXml.cs
- RoleGroup.cs
- HtmlInputCheckBox.cs
- ListParaClient.cs
- InputMethod.cs
- StackSpiller.Bindings.cs
- ParserOptions.cs
- BindingExpressionBase.cs
- DataGridViewAccessibleObject.cs
- PersonalizationStateQuery.cs
- UniformGrid.cs
- StorageComplexPropertyMapping.cs
- XmlSchemaException.cs
- CoreSwitches.cs
- ScriptResourceAttribute.cs
- _WinHttpWebProxyDataBuilder.cs
- ActivityBuilder.cs
- DataObjectEventArgs.cs
- XmlSignatureProperties.cs