WebPartTransformerAttribute WebPartTransformerAttribute WebPartTransformerAttribute WebPartTransformerAttribute Class

Definizione

Identifica i tipi di punti di connessione supportati da un trasformatore.Identifies the types of connection points that a transformer supports.

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

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

I trasformatori vengono utilizzati per tradurre i dati tra due controlli Web part con punti di connessione incompatibili.Transformers are used to translate data between two Web Parts controls with incompatible connection points. I punti di connessione sono incompatibili quando forniscono o utilizzano dati attraverso interfacce differenti.Connection points are incompatible when they provide or consume data through different interfaces. Un provider che implementa un punto di connessione del provider di tipo IWebPartRow , ad esempio, non può connettersi direttamente a un consumer in attesa IWebPartTabledi un punto di connessione del provider di tipo.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. Al contrario, è necessario usare un trasformatore per connettere i due punti di connessione.Instead, a transformer must be used to connect the two connection points. Un trasformatore personalizzato può essere creato derivando una classe WebPartTransformer dalla classe.A customized transformer can be created by deriving a class from the WebPartTransformer class.

L' WebPartTransformerAttribute attributo viene applicato a una WebPartTransformer classe.The WebPartTransformerAttribute attribute is applied to a WebPartTransformer class. Definisce il tipo di punto di connessione del provider e il tipo di punto di connessione consumer supportato da un trasformatore.It defines the type of provider connection point and the type of consumer connection point that a transformer supports. Il tipo di consumer e i punti di connessione del provider supportati dal trasformatore devono corrispondere ai punti di connessione del consumer e del provider Web part controlli per una connessione da effettuare tra i controlli.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. In fase di esecuzione, il tipo di punti di connessione supportati da un particolare trasformatore può GetConsumerType essere GetProviderType recuperato tramite i metodi e.At run time, the type of connection points that a particular transformer supports can be retrieved through the GetConsumerType and GetProviderType methods.

Costruttori

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

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

Proprietà

ConsumerType ConsumerType ConsumerType ConsumerType

Ottiene l'oggetto Type dell'interfaccia supportata dal punto di connessione consumer.Gets the Type of the interface supported by the consumer connection point.

ProviderType ProviderType ProviderType ProviderType

Ottiene l'oggetto Type dell'interfaccia supportata dal punto di connessione provider.Gets the Type of the interface supported by the provider connection point.

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetConsumerType(Type) GetConsumerType(Type) GetConsumerType(Type) GetConsumerType(Type)

Restituisce il tipo di consumer che può essere accettato da un trasformatore in un punto di connessione.Returns the consumer type a transformer can accept on a connection point.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

(Inherited from Attribute)
GetProviderType(Type) GetProviderType(Type) GetProviderType(Type) GetProviderType(Type)

Restituisce il tipo di provider che può essere accettato da un trasformatore in un punto di connessione.Returns the provider type a transformer can accept on a connection point.

GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.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(Object) Match(Object) Match(Object) Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _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.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Si applica a