WebPartTransformerAttribute Class
Identifies the types of connection points that a transformer supports.
Assembly: System.Web (in System.Web.dll)
The WebPartTransformerAttribute type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | WebPartTransformerAttribute | Initializes a new instance of the WebPartTransformerAttribute class. |
| Name | Description | |
|---|---|---|
![]() | ConsumerType | Gets the Type of the interface supported by the consumer connection point. |
![]() | ProviderType | Gets the Type of the interface supported by the provider connection point. |
![]() | TypeId | When implemented in a derived class, gets a unique identifier for this Attribute. (Inherited from Attribute.) |
| Name | Description | |
|---|---|---|
![]() | Equals | Infrastructure. Returns a value that indicates whether this instance is equal to a specified object. (Inherited from Attribute.) |
![]() ![]() | GetConsumerType | Returns the consumer type a transformer can accept on a connection point. |
![]() | GetHashCode | Returns the hash code for this instance. (Inherited from Attribute.) |
![]() ![]() | GetProviderType | Returns the provider type a transformer can accept on a connection point. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | IsDefaultAttribute | When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. (Inherited from Attribute.) |
![]() | Match | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | _Attribute.GetIDsOfNames | Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfo | Retrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfoCount | Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute.) |
![]() ![]() | _Attribute.Invoke | Provides access to properties and methods exposed by an object. (Inherited from Attribute.) |
Transformers are used to translate data between two Web Parts controls with incompatible connection points. Connection points are incompatible when they provide or consume data through different interfaces. For example, a provider implementing a provider connection point of type IWebPartRow could not directly connect to a consumer expecting a provider connection point of type IWebPartTable. Instead, a transformer must be used to connect the two connection points. A customized transformer can be created by deriving a class from the WebPartTransformer class.
The WebPartTransformerAttribute attribute is applied to a WebPartTransformer class. It defines the type of provider connection point and the type of consumer connection point that a transformer supports. The type of consumer and provider connection points supported by the transformer must match the connection points of the consumer and provider Web Parts controls for a connection to be made between the controls. At run time, the type of connection points that a particular transformer supports can be retrieved through the GetConsumerType and GetProviderType methods.
The following code example demonstrates the use of a WebPartTransformerAttribute attribute with a customized WebPartTransformer class. The attribute indicates that the RowToStringTransformer class can transform a provider connection point of type IWebPartRow to a consumer connection point of type IString.
This code example is part of a larger example found in the WebPartTransformer class overview.
// A transformer that transforms a row to a string. [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] [WebPartTransformer(typeof(IWebPartRow), typeof(IString))] public class RowToStringTransformer : WebPartTransformer, IString { private IWebPartRow _provider; private StringCallback _callback; private void GetRowData(object rowData) { PropertyDescriptorCollection props = _provider.Schema; if (props != null && props.Count > 0 && rowData != null) { string returnValue = String.Empty; foreach (PropertyDescriptor prop in props) { if (prop != props[0]) { returnValue += ", "; } returnValue += prop.DisplayName + ": " + prop.GetValue(rowData); } _callback(returnValue); } else { _callback(null); } } public override object Transform(object providerData) { _provider = (IWebPartRow)providerData; return this; } void IString.GetStringValue(StringCallback callback) { if (callback == null) { throw new ArgumentNullException("callback"); } if (_provider != null) { _callback = callback; _provider.GetRowData(new RowCallback(GetRowData)); } else { callback(null); } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
