WebPartTransformerAttribute Classe

Definizione

Identifica i tipi di punti di connessione supportati da un trasformatore.

public ref class WebPartTransformerAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class WebPartTransformerAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class)>]
type WebPartTransformerAttribute = class
    inherit Attribute
Public NotInheritable Class WebPartTransformerAttribute
Inherits Attribute
Ereditarietà
WebPartTransformerAttribute
Attributi

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di un WebPartTransformerAttribute attributo con una classe personalizzata WebPartTransformer . L'attributo indica che la RowToStringTransformer classe può trasformare un punto di connessione provider di tipo IWebPartRow a un punto di connessione consumer di tipo IString.

Questo esempio di codice fa parte di un esempio più grande trovato nella panoramica della WebPartTransformer classe.

// 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

I trasformatori vengono usati per tradurre i dati tra due controlli Web part con punti di connessione incompatibili. I punti di connessione non sono compatibili quando forniscono o usano dati tramite interfacce diverse. Ad esempio, un provider che implementa un punto di connessione del provider di tipo IWebPartRow non è riuscito direttamente a connettersi a un consumer che prevede un punto di connessione provider di tipo IWebPartTable. È invece necessario usare un trasformatore per connettere i due punti di connessione. È possibile creare un trasformatore personalizzato derivando una classe dalla WebPartTransformer classe .

L'attributo WebPartTransformerAttribute viene applicato a una WebPartTransformer classe. Definisce il tipo di punto di connessione del provider e il tipo di punto di connessione consumer supportato da un trasformatore. Il tipo di punti di connessione consumer e provider supportati dal trasformatore deve corrispondere ai punti di connessione del consumer e del provider Web part controlli per eseguire una connessione tra i controlli. In fase di esecuzione, il tipo di punti di connessione supportati da un particolare trasformatore può essere recuperato tramite i GetConsumerType metodi e GetProviderType .

Costruttori

WebPartTransformerAttribute(Type, Type)

Inizializza una nuova istanza della classe WebPartTransformerAttribute.

Proprietà

ConsumerType

Ottiene l'oggetto Type dell'interfaccia supportata dal punto di connessione consumer.

ProviderType

Ottiene l'oggetto Type dell'interfaccia supportata dal punto di connessione provider.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetConsumerType(Type)

Restituisce il tipo di consumer che può essere accettato da un trasformatore in un punto di connessione.

GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetProviderType(Type)

Restituisce il tipo di provider che può essere accettato da un trasformatore in un punto di connessione.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a