WebPartTransformerAttribute WebPartTransformerAttribute WebPartTransformerAttribute WebPartTransformerAttribute Class

Определение

Определяет типы точек подключения, поддерживаемые преобразователем.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
Наследование
WebPartTransformerAttributeWebPartTransformerAttributeWebPartTransformerAttributeWebPartTransformerAttribute
Атрибуты

Примеры

В следующем примере кода демонстрируется использование WebPartTransformerAttribute настраиваемый атрибут WebPartTransformer класса.The following code example demonstrates the use of a WebPartTransformerAttribute attribute with a customized WebPartTransformer class. Атрибут указывает, что RowToStringTransformer класс можно преобразовать точки подключения поставщика типа IWebPartRow для точки подключения получателя типа IString.The attribute indicates that the RowToStringTransformer class can transform a provider connection point of type IWebPartRow to a consumer connection point of type IString.

Данный пример кода является частью большого примера, приведенного в WebPartTransformer Общие сведения о классе.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

Комментарии

Преобразователи используются для преобразования данных между двумя элементами управления веб-частей с несовместимыми точками подключения.Transformers are used to translate data between two Web Parts controls with incompatible connection points. Точки подключения несовместимы в тех случаях, когда они предоставляют или потребляют данные через различные интерфейсы.Connection points are incompatible when they provide or consume data through different interfaces. Например, поставщик, реализация точки подключения поставщика типа IWebPartRow не может напрямую подключаться к потребителя, ожидающего поступления точки подключения поставщика типа IWebPartTable.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. Вместо этого преобразователя должен использоваться для подключения таких точек подключения.Instead, a transformer must be used to connect the two connection points. Настроенный преобразователь можно создать путем наследования от класса WebPartTransformer класса.A customized transformer can be created by deriving a class from the WebPartTransformer class.

WebPartTransformerAttribute Атрибут применяется к WebPartTransformer класса.The WebPartTransformerAttribute attribute is applied to a WebPartTransformer class. Он определяет тип точки подключения поставщика и тип точки подключения потребителя, поддерживаемые преобразователем.It defines the type of provider connection point and the type of consumer connection point that a transformer supports. Тип поставщика и получателя точек подключения, поддерживаемые преобразователем должен соответствовать точки соединения поставщика и получателя управления веб-частей для подключения между элементами управления.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. Во время выполнения, тип точки подключения, которые поддерживает конкретный преобразователь можно извлечь с помощью GetConsumerType и GetProviderType методы.At run time, the type of connection points that a particular transformer supports can be retrieved through the GetConsumerType and GetProviderType methods.

Конструкторы

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

Инициализирует новый экземпляр класса WebPartTransformerAttribute.Initializes a new instance of the WebPartTransformerAttribute class.

Свойства

ConsumerType ConsumerType ConsumerType ConsumerType

Получает тип Type интерфейса, поддерживаемого точкой подключения получателя.Gets the Type of the interface supported by the consumer connection point.

ProviderType ProviderType ProviderType ProviderType

Получает тип Type интерфейса, поддерживаемого точкой подключения поставщика.Gets the Type of the interface supported by the provider connection point.

TypeId TypeId TypeId TypeId

При реализации в производном классе возвращает уникальный идентификатор для этого Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Методы

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

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.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)

Возвращает тип объекта-получателя, который преобразователь поддерживает для точки подключения.Returns the consumer type a transformer can accept on a connection point.

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

Возвращает хэш-код для данного экземпляра.Returns the hash code for this instance.

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

Возвращает тип поставщика, который преобразователь поддерживает для точки подключения.Returns the provider type a transformer can accept on a connection point.

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

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

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

При переопределении в производном классе показывает, является ли значение данного экземпляра значением по умолчанию для производного класса.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)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.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()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Явные реализации интерфейса

_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)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.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)

Возвращает сведения о типе объекта, которые могут использоваться для получения сведений о типе интерфейса.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)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 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)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Применяется к