WebPartTransformerAttribute Klasse

Definition

Identifiziert die Typen von Verbindungspunkten, die von einem Transformator unterstützt werden.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
Vererbung
WebPartTransformerAttribute
Attribute

Beispiele

Im folgenden Codebeispiel wird die Verwendung WebPartTransformerAttribute eines-Attributs mit einer angepassten WebPartTransformer -Klasse veranschaulicht.The following code example demonstrates the use of a WebPartTransformerAttribute attribute with a customized WebPartTransformer class. Das-Attribut gibt an RowToStringTransformer , dass die Klasse einen Anbieter Verbindungspunkt vom IWebPartRow Typ in einen Consumerverbindungspunkt IStringvom Typ umwandeln kann.The attribute indicates that the RowToStringTransformer class can transform a provider connection point of type IWebPartRow to a consumer connection point of type IString.

Dieses Codebeispiel ist Teil eines größeren Beispiels in der Übersicht über WebPartTransformer die-Klasse.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

Hinweise

Transformatoren werden verwendet, um Daten zwischen zwei Webparts-Steuerelementen mit nicht kompatiblen Verbindungs Punkten zu übersetzen.Transformers are used to translate data between two Web Parts controls with incompatible connection points. Verbindungspunkte sind nicht kompatibel, wenn Sie Daten über verschiedene Schnittstellen bereitstellen oder nutzen.Connection points are incompatible when they provide or consume data through different interfaces. Ein Anbieter, der einen Anbieter Verbindungspunkt vom Typ IWebPartRow implementiert, konnte z. b. nicht direkt eine Verbindung mit einem Consumer herstellen, der einen Anbieter Verbindungspunkt vom Typ IWebPartTableerwartet.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. Stattdessen muss ein Transformator verwendet werden, um die beiden Verbindungspunkte zu verbinden.Instead, a transformer must be used to connect the two connection points. Ein angepasster Transformator kann erstellt werden, indem eine Klasse WebPartTransformer von der-Klasse abgeleitet wird.A customized transformer can be created by deriving a class from the WebPartTransformer class.

Das WebPartTransformerAttribute -Attribut wird auf eine WebPartTransformer Klasse angewendet.The WebPartTransformerAttribute attribute is applied to a WebPartTransformer class. Er definiert den Typ des Anbieter Verbindungs Punkts und den Typ des consumerverbindungspunktpunkts, der von einem Transformator unterstützt wird.It defines the type of provider connection point and the type of consumer connection point that a transformer supports. Der Typ der vom Transformator unterstützten Consumer-und Anbieter Verbindungspunkte muss den Verbindungs Punkten der Consumer-und Provider-Webparts Steuerelemente für eine Verbindung entsprechen, die zwischen den Steuerelementen hergestellt werden soll.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. Zur Laufzeit kann der Typ der Verbindungspunkte, die von einem bestimmten Transformator unterstützt werden, über GetConsumerType die GetProviderType -Methode und die-Methode abgerufen werden.At run time, the type of connection points that a particular transformer supports can be retrieved through the GetConsumerType and GetProviderType methods.

Konstruktoren

WebPartTransformerAttribute(Type, Type)

Initialisiert eine neue Instanz der WebPartTransformerAttribute-Klasse.Initializes a new instance of the WebPartTransformerAttribute class.

Eigenschaften

ConsumerType

Ruft den Type der durch den Consumerverbindungspunkt unterstützten Schnittstelle ab.Gets the Type of the interface supported by the consumer connection point.

ProviderType

Ruft den Type der durch den Anbieterverbindungspunkt unterstützten Schnittstelle ab.Gets the Type of the interface supported by the provider connection point.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Geerbt von Attribute)

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

(Geerbt von Attribute)
GetConsumerType(Type)

Gibt den Consumertyp zurück, den ein Transformator an einem Verbindungspunkt annehmen kann.Returns the consumer type a transformer can accept on a connection point.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

(Geerbt von Attribute)
GetProviderType(Type)

Gibt den Anbietertyp zurück, den ein Transformator an einem Verbindungspunkt annehmen kann.Returns the provider type a transformer can accept on a connection point.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Geerbt von Attribute)

Gilt für: