WebPartTransformerAttribute(Type, Type) Constructor
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Initialiseert een nieuw exemplaar van de WebPartTransformerAttribute klasse.
public:
WebPartTransformerAttribute(Type ^ consumerType, Type ^ providerType);
public WebPartTransformerAttribute(Type consumerType, Type providerType);
new System.Web.UI.WebControls.WebParts.WebPartTransformerAttribute : Type * Type -> System.Web.UI.WebControls.WebParts.WebPartTransformerAttribute
Public Sub New (consumerType As Type, providerType As Type)
Parameters
- consumerType
- Type
De Type interface die wordt ondersteund door het verbindingspunt van de consument.
Uitzonderingen
consumerType of providerType is niet opgegeven.
consumerType is providerTypegelijk aan .
Voorbeelden
In het volgende codevoorbeeld ziet u het gebruik van een WebPartTransformerAttribute kenmerk met een aangepaste WebPartTransformer klasse. Het kenmerk geeft aan dat de klasse een verbindingspunt van een RowToStringTransformer provider van het type IWebPartRow kan transformeren naar een consumentenaansluitpunt van het type IString.
Dit codevoorbeeld maakt deel uit van een groter voorbeeld in het WebPartTransformer klasseoverzicht.
// 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
Opmerkingen
De WebPartTransformerAttribute constructor stelt het verbindingspunttype van de consument en het verbindingspunttype van de provider voor de transformator in. Deze waarden kunnen worden opgehaald via respectievelijk de ConsumerType eigenschap en de ProviderType eigenschap.