WebPartTransformerAttribute(Type, Type) WebPartTransformerAttribute(Type, Type) WebPartTransformerAttribute(Type, Type) WebPartTransformerAttribute(Type, Type) Constructor

Definizione

Inizializza una nuova istanza della classe WebPartTransformerAttribute.Initializes a new instance of the WebPartTransformerAttribute class.

public:
 WebPartTransformerAttribute(Type ^ consumerType, Type ^ providerType);
public WebPartTransformerAttribute (Type consumerType, Type providerType);
new System.Web.UI.WebControls.WebParts.WebPartTransformerAttribute : Type * Type -> System.Web.UI.WebControls.WebParts.WebPartTransformerAttribute
Public Sub New (consumerType As Type, providerType As Type)

Parametri

consumerType
Type Type Type Type

Oggetto Type dell'interfaccia supportata dal punto di connessione consumer.The Type of the interface supported by the consumer connection point.

providerType
Type Type Type Type

Oggetto Type dell'interfaccia supportata dal punto di connessione provider.The Type of the interface supported by the provider connection point.

Eccezioni

consumerType o providerType non è specificato.consumerType or providerType is not specified.

consumerType è uguale a providerType.consumerType equals providerType.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato WebPartTransformerAttribute l'utilizzo di un WebPartTransformer attributo con una classe personalizzata.The following code example demonstrates the use of a WebPartTransformerAttribute attribute with a customized WebPartTransformer class. L'attributo indica che la RowToStringTransformer classe può trasformare un punto di connessione del provider IWebPartRow di tipo in un punto di connessione IStringconsumer di tipo.The attribute indicates that the RowToStringTransformer class can transform a provider connection point of type IWebPartRow to a consumer connection point of type IString.

Questo esempio di codice fa parte di un esempio più ampio disponibile WebPartTransformer nella panoramica della classe.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);
        }
    }
}
' A transformer that transforms a row to a string.
<AspNetHostingPermission(SecurityAction.Demand, _
   Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
   Level:=AspNetHostingPermissionLevel.Minimal)> _
<WebPartTransformer(GetType(IWebPartRow), GetType(IString))> _
Public Class RowToStringTransformer
    Inherits WebPartTransformer
    Implements IString

    Private _provider As IWebPartRow
    Private _callback As StringCallback

    Private Sub GetRowData(ByVal rowData As Object)
        Dim props As PropertyDescriptorCollection = _provider.Schema

        If ((Not (props Is Nothing)) AndAlso (props.Count > 0) _
          AndAlso (Not (rowData Is Nothing))) Then
            Dim returnValue As String = String.Empty
            For Each prop As PropertyDescriptor In props
                If Not (prop Is props(0)) Then
                    returnValue += ", "
                End If
                returnValue += prop.DisplayName.ToString() + ": " + _
                    prop.GetValue(rowData).ToString()
            Next
            _callback(returnValue)
        Else
            _callback(Nothing)
        End If
    End Sub

    Public Overrides Function Transform(ByVal providerData As Object) As Object
        _provider = CType(providerData, IWebPartRow)
        Return Me
    End Function


    Sub GetStringValue(ByVal callback As StringCallback) _
       Implements IString.GetStringValue
        If (callback Is Nothing) Then
            Throw New ArgumentNullException("callback")
        End If

        If (Not (_provider Is Nothing)) Then
            _callback = callback
            _provider.GetRowData(New RowCallback(AddressOf GetRowData))
        Else
            callback(Nothing)
        End If
    End Sub
End Class

Commenti

Il WebPartTransformerAttribute costruttore imposta il tipo di punto di connessione consumer e il tipo di punto di connessione provider per il trasformatore.The WebPartTransformerAttribute constructor sets the consumer connection point type and the provider connection point type for the transformer. Questi valori possono essere recuperati rispettivamente ConsumerType tramite la proprietà ProviderType e la proprietà.These values can be retrieved through the ConsumerType property and the ProviderType property, respectively.

Si applica a