WebPartTransformerAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Transformatörlerin desteklediği bağlantı noktası türlerini tanımlar.
public ref class WebPartTransformerAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class WebPartTransformerAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class)>]
type WebPartTransformerAttribute = class
inherit Attribute
Public NotInheritable Class WebPartTransformerAttribute
Inherits Attribute
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, özelleştirilmiş WebPartTransformer bir WebPartTransformerAttribute sınıfla özniteliğin kullanımını gösterir. özniteliği, sınıfının türündeki RowToStringTransformer
bir sağlayıcı bağlantı noktasını türünde IWebPartRow
bir tüketici bağlantı noktasına IString
dönüştürebileceğini gösterir.
Bu kod örneği, sınıfa genel bakış bölümünde WebPartTransformer bulunan daha büyük bir örneğin bir parçasıdır.
// 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
Açıklamalar
Transformatörler, uyumsuz bağlantı noktalarına sahip iki Web Bölümleri denetimi arasındaki verileri çevirmek için kullanılır. Bağlantı noktaları, farklı arabirimler aracılığıyla veri sağladığında veya tükettiğinde uyumsuz. Örneğin, sağlayıcı bağlantı noktası türü uygulayan bir sağlayıcı, türünde IWebPartRow bir sağlayıcı bağlantı noktası IWebPartTablebekleyen bir tüketiciye doğrudan bağlanamadı. Bunun yerine, iki bağlantı noktasını bağlamak için bir transformatör kullanılmalıdır. Sınıfından WebPartTransformer bir sınıf türetilerek özelleştirilmiş bir transformatör oluşturulabilir.
WebPartTransformerAttribute özniteliği bir WebPartTransformer sınıfa uygulanır. Sağlayıcı bağlantı noktasının türünü ve bir transformatör tarafından desteklenen tüketici bağlantı noktasının türünü tanımlar. Transformatör tarafından desteklenen tüketici ve sağlayıcı bağlantı noktalarının türü, denetimler arasında yapılacak bağlantı için tüketici ve sağlayıcı Web Bölümleri denetimlerinin bağlantı noktalarıyla eşleşmelidir. Çalışma zamanında, belirli bir transformatör tarafından desteklenen bağlantı noktalarının türü ve GetProviderType yöntemleri aracılığıyla GetConsumerType alınabilir.
Oluşturucular
WebPartTransformerAttribute(Type, Type) |
WebPartTransformerAttribute sınıfının yeni bir örneğini başlatır. |
Özellikler
ConsumerType |
Type Tüketici bağlantı noktası tarafından desteklenen arabirimin öğesini alır. |
ProviderType |
Type Sağlayıcı bağlantı noktası tarafından desteklenen arabirimin öğesini alır. |
TypeId |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
Yöntemler
Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür. (Devralındığı yer: Attribute) |
GetConsumerType(Type) |
Transformatörlerin bir bağlantı noktasında kabul edebildiği tüketici türünü döndürür. |
GetHashCode() |
Bu örneğe ilişkin karma kodu döndürür. (Devralındığı yer: Attribute) |
GetProviderType(Type) |
Bağlantı noktasında transformatörlerin kabul edebildiği sağlayıcı türünü döndürür. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
IsDefaultAttribute() |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler. (Devralındığı yer: Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır. (Devralındığı yer: Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). (Devralındığı yer: Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar. (Devralındığı yer: Attribute) |