Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

WebPartTransformerAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Identifiziert die Typen von Verbindungspunkten, die von einem Transformator unterstützt.

Namespace:   System.Web.UI.WebControls.WebParts
Assembly:  System.Web (in System.Web.dll)

System.Object
  System.Attribute
    System.Web.UI.WebControls.WebParts.WebPartTransformerAttribute

[AttributeUsageAttribute(AttributeTargets.Class)]
public sealed class WebPartTransformerAttribute : Attribute

NameBeschreibung
System_CAPS_pubmethodWebPartTransformerAttribute(Type, Type)

Initialisiert eine neue Instanz der WebPartTransformerAttribute-Klasse.

NameBeschreibung
System_CAPS_pubpropertyConsumerType

Ruft die Type der Schnittstelle durch den Consumer-Verbindungspunkt unterstützt.

System_CAPS_pubpropertyProviderType

Ruft die Type der Schnittstelle vom Anbieterverbindungspunkt unterstützt.

System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodSystem_CAPS_staticGetConsumerType(Type)

Gibt der Consumertyp einen Transformator an einem Verbindungspunkt annehmen kann.

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethodSystem_CAPS_staticGetProviderType(Type)

Gibt den Typ des Datenanbieters ein Transformator an einem Verbindungspunkt annehmen kann.

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

Transformers werden verwendet, um Daten zwischen zwei Webparts-Steuerelementen mit nicht kompatiblen Verbindungspunkten zu übersetzen. Verbindungspunkte sind nicht kompatibel, wenn sie bereitstellen oder nutzen von Daten über verschiedene Schnittstellen. Z. B. ein Anbieter implementieren eines Verbindungspunktes Anbieter vom Typ IWebPartRow konnte keine direkte Verbindung mit einen Consumer einen Anbieterverbindungspunkt vom Typ IWebPartTable. Stattdessen muss ein Transformator verwendet werden, auf die beiden Verbindungspunkte zu verbinden. Ein benutzerdefinierter Transformator erstellt werden, indem das Ableiten einer Klasse von der WebPartTransformer Klasse.

Das WebPartTransformerAttribute -Attribut angewendet wird, um eine WebPartTransformer Klasse. Sie definiert den Typ des Anbieterverbindungspunkts und den Typ des Consumer-Verbindungspunkt, der einem Transformator unterstützt. Der Typ des Consumer- und Verbindungspunkte unterstützt vom Transformator muss die Verbindungspunkte der Consumer- und Webparts-Steuerelemente für eine Verbindung zwischen den Steuerelementen übereinstimmen. Zur Laufzeit der Typ der Verbindung an, die einen bestimmten Transformator unterstützte abgerufen werden kann, durch die GetConsumerType und GetProviderType Methoden.

Das folgende Codebeispiel veranschaulicht die Verwendung einer WebPartTransformerAttribute Attribut mit einer benutzerdefinierten WebPartTransformer Klasse. Das Attribut gibt an, dass die RowToStringTransformer -Klasse kann einen Anbieterverbindungspunkt vom Typ transformieren IWebPartRow an einen Consumer-Verbindungspunkt vom Typ IString.

Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels der WebPartTransformer Übersicht über die Klasse.

// 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);
        }
    }
}

.NET Framework
Verfügbar seit 2.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: