(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

WebPartTransformerAttribute-Klasse

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

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

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

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

Der WebPartTransformerAttribute-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeWebPartTransformerAttributeInitialisiert eine neue Instanz der WebPartTransformerAttribute-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftConsumerTypeRuft den Type der durch den Consumerverbindungspunkt unterstützten Schnittstelle ab.
Öffentliche EigenschaftProviderTypeRuft den Type der durch den Anbieterverbindungspunkt unterstützten Schnittstelle ab.
Öffentliche EigenschaftTypeIdBei Implementierung in einer abgeleiteten Klasse wird ein eindeutiger Bezeichner für dieses Attribute abgerufen. (Von Attribute geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeEqualsInfrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Von Attribute geerbt.)
Öffentliche MethodeStatischer MemberGetConsumerTypeGibt den Consumertyp zurück, den ein Transformator an einem Verbindungspunkt annehmen kann.
Öffentliche MethodeGetHashCodeGibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.)
Öffentliche MethodeStatischer MemberGetProviderTypeGibt den Anbietertyp zurück, den ein Transformator an einem Verbindungspunkt annehmen kann.
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeIsDefaultAttributeBeim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.)
Öffentliche MethodeMatchBeim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoRuft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.)
Zum Seitenanfang

Transformatoren werden verwendet, um Daten zwischen zwei Webparts-Steuerelementen mit nicht kompatiblen Verbindungspunkten zu übersetzen. Verbindungspunkte sind nicht kompatibel, wenn sie Daten über verschiedene Schnittstellen bereitstellen oder verwenden. Beispielsweise kann ein Anbieter, der einen Anbieterverbindungspunkt vom Typ IWebPartRow implementiert, nicht direkt mit einem Consumer eine Verbindung herstellen, der einen Anbieterverbindungspunkt vom Typ IWebPartTable erwartet. Stattdessen muss ein Transformator verwendet werden, um die beiden Verbindungspunkte zu verbinden. Ein benutzerdefinierter Transformator kann erstellt werden, indem man eine Klasse von der WebPartTransformer-Klasse ableitet.

Das WebPartTransformerAttribute-Attribut wird auf die WebPartTransformer-Klasse angewendet. Es definiert den Typ des Anbieterverbindungspunkts sowie des Consumerverbindungspunkts, die von einem Transformator unterstützt werden. Die vom Transformator unterstützten Typen von Consumer- und Anbieterverbindungspunkten müssen für eine zwischen den Steuerelementen herzustellende Verbindung den Verbindungspunkten der Webparts-Steuerelemente für Consumer und Anbieter entsprechen. Der von einen bestimmten Transformator unterstützte Typ von Verbindungspunkten kann zur Laufzeit über die GetConsumerType-Methode und die GetProviderType-Methode abgerufen werden.

Im folgenden Codebeispiel wird die Verwendung eines WebPartTransformerAttribute-Attributs mit einer benutzerdefinierten WebPartTransformer-Klasse veranschaulicht. Das Attribut gibt an, dass die RowToStringTransformer-Klasse einen Anbieterverbindungspunkt vom Typ IWebPartRow in einen Consumerverbindungspunkt vom Typ IString transformieren kann.

Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels in der Übersicht zur WebPartTransformer-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

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft