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
- TagMapInfo.cs
- WindowsTitleBar.cs
- CurrentChangingEventManager.cs
- OneOfConst.cs
- DetailsViewPageEventArgs.cs
- unsafeIndexingFilterStream.cs
- PermissionAttributes.cs
- EnumerableRowCollectionExtensions.cs
- BorderSidesEditor.cs
- PackWebRequest.cs
- DiagnosticTrace.cs
- QuaternionConverter.cs
- MatrixAnimationUsingPath.cs
- EnumerableRowCollectionExtensions.cs
- AssemblyCache.cs
- AlphaSortedEnumConverter.cs
- TcpClientSocketManager.cs
- TreeViewEvent.cs
- BuildProvider.cs
- FixUp.cs
- Visual3D.cs
- IdentityHolder.cs
- COAUTHIDENTITY.cs
- NullableIntSumAggregationOperator.cs
- SafeFileMappingHandle.cs
- SystemUdpStatistics.cs
- ProgressiveCrcCalculatingStream.cs
- RectValueSerializer.cs
- SQLString.cs
- TreeNodeMouseHoverEvent.cs
- Compiler.cs
- TableDetailsCollection.cs
- RequestQueue.cs
- Classification.cs
- DSACryptoServiceProvider.cs
- Wrapper.cs
- InputProviderSite.cs
- XmlQualifiedNameTest.cs
- DayRenderEvent.cs
- SettingsProperty.cs
- Rotation3D.cs
- XmlSchemaObjectCollection.cs
- AdjustableArrowCap.cs
- DesignTimeValidationFeature.cs
- RegexCompilationInfo.cs
- BitmapPalettes.cs
- MenuItemStyleCollection.cs
- SHA384.cs
- DataGridViewCellPaintingEventArgs.cs
- BitmapScalingModeValidation.cs
- HierarchicalDataSourceControl.cs
- LinqDataSourceView.cs
- ButtonPopupAdapter.cs
- JournalEntryStack.cs
- SvcMapFileSerializer.cs
- Lasso.cs
- OrderToken.cs
- XmlSchemaImporter.cs
- cookiecollection.cs
- sqlpipe.cs
- ClientOperation.cs
- SelectionChangedEventArgs.cs
- PropertyTab.cs
- RuntimeEnvironment.cs
- RowsCopiedEventArgs.cs
- WebFaultException.cs
- ListView.cs
- ScrollItemPatternIdentifiers.cs
- CharacterMetrics.cs
- BindingCompleteEventArgs.cs
- TextServicesHost.cs
- DbParameterCollection.cs
- SQLMoneyStorage.cs
- DateTimeParse.cs
- ConnectionPoint.cs
- ScrollPatternIdentifiers.cs
- Pair.cs
- StringConverter.cs
- Journaling.cs
- AuthenticationConfig.cs
- ArrangedElement.cs
- BitmapScalingModeValidation.cs
- BamlBinaryWriter.cs
- DataBinder.cs
- Span.cs
- UnsafeNativeMethodsTablet.cs
- Vertex.cs
- Mutex.cs
- iisPickupDirectory.cs
- InstancePersistenceException.cs
- HtmlInputHidden.cs
- ReadContentAsBinaryHelper.cs
- PersonalizableTypeEntry.cs
- SafeHandles.cs
- SymmetricKeyWrap.cs
- XmlDocument.cs
- IFormattable.cs
- MSAANativeProvider.cs
- CodeDOMProvider.cs
- EntityDataSourceWizardForm.cs