Aracılığıyla paylaş


ServiceKnownTypeAttribute Oluşturucular

Tanım

ServiceKnownTypeAttribute sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

ServiceKnownTypeAttribute(String)

sınıfının yeni bir örneğini ServiceKnownTypeAttribute başlatır ve bilinen türleri döndüren bir yöntemin adını belirtir.

ServiceKnownTypeAttribute(Type)

Belirtilen bilinen türe sahip sınıfının yeni bir örneğini ServiceKnownTypeAttribute başlatır.

ServiceKnownTypeAttribute(String, Type)

Sınıfının yeni bir örneğini ServiceKnownTypeAttribute , bilinen türleri ve bilinen türleri döndüren yöntemi (veya yöntemleri) içeren türü döndüren bir yöntemin adıyla başlatır.

ServiceKnownTypeAttribute(String)

sınıfının yeni bir örneğini ServiceKnownTypeAttribute başlatır ve bilinen türleri döndüren bir yöntemin adını belirtir.

public:
 ServiceKnownTypeAttribute(System::String ^ methodName);
public ServiceKnownTypeAttribute (string methodName);
new System.ServiceModel.ServiceKnownTypeAttribute : string -> System.ServiceModel.ServiceKnownTypeAttribute
Public Sub New (methodName As String)

Parametreler

methodName
String

Bilinen türleri döndüren bir yöntemin adı.

Açıklamalar

Bilinen türleri döndüren ServiceKnownTypeAttribute yöntemleri içeren bir sınıfa uygularken bu oluşturucuyu kullanın.

Ayrıca bkz.

Şunlara uygulanır

ServiceKnownTypeAttribute(Type)

Belirtilen bilinen türe sahip sınıfının yeni bir örneğini ServiceKnownTypeAttribute başlatır.

public:
 ServiceKnownTypeAttribute(Type ^ type);
public ServiceKnownTypeAttribute (Type type);
new System.ServiceModel.ServiceKnownTypeAttribute : Type -> System.ServiceModel.ServiceKnownTypeAttribute
Public Sub New (type As Type)

Parametreler

type
Type

Bir parametrede veya hizmet tarafından tanımlanan dönüş değerinde kullanılabilecek bilinen bir türü belirtir.

Örnekler

Aşağıdaki örnek özniteliğini, özniteliğinin ServiceKnownTypeAttribute eklenecek türü belirttiği bir arabirime uygular.

// Apply the ServiceKnownTypeAttribute to the
// interface specifying the type to include. Apply
// the attribute more than once if needed.
[ServiceKnownType(typeof(Widget))]
[ServiceKnownType(typeof(Machine))]
[ServiceContract()]
public interface ICatalog2
{
    // Any object type can be inserted into a Hashtable. The
    // ServiceKnownTypeAttribute allows you to include those types
    // with the client code.
    [OperationContract]
    Hashtable GetItems();
}
' Apply the ServiceKnownTypeAttribute to the 
' interface specifying the type to include. Apply the attribute
' more than once, if needed.
<ServiceKnownType(GetType(Widget)), ServiceKnownType(GetType(Machine)), _
 ServiceContract()>  _
Public Interface ICalculator2
    ' Any object type can be inserted into a Hashtable. The 
    ' ServiceKnownTypeAttribute allows you to include those types
    ' with the client code.
    <OperationContract()>  _
    Function GetItems() As Hashtable 
End Interface

Açıklamalar

ServiceKnownTypeAttribute bir yönteme birkaç kez uygulanabilir ve her uygulama, yöntemi tarafından döndürülen nesne grafında bulunabilecek farklı bir bilinen türü adlandırabilir.

Şunlara uygulanır

ServiceKnownTypeAttribute(String, Type)

Sınıfının yeni bir örneğini ServiceKnownTypeAttribute , bilinen türleri ve bilinen türleri döndüren yöntemi (veya yöntemleri) içeren türü döndüren bir yöntemin adıyla başlatır.

public:
 ServiceKnownTypeAttribute(System::String ^ methodName, Type ^ declaringType);
public ServiceKnownTypeAttribute (string methodName, Type declaringType);
new System.ServiceModel.ServiceKnownTypeAttribute : string * Type -> System.ServiceModel.ServiceKnownTypeAttribute
Public Sub New (methodName As String, declaringType As Type)

Parametreler

methodName
String

Bilinen türleri döndüren bir yöntemin adı.

declaringType
Type

Nesne grafında bilinen türleri kullanabilen tür.

Örnekler

Aşağıdaki örnek özniteliğini, özniteliğinin ServiceKnownTypeAttribute bir yöntem adı ve bildirim türü belirttiği bir arabirime uygular.

// Define a service contract and apply the ServiceKnownTypeAttribute
// to specify types to include when generating client code.
// The types must have the DataContractAttribute and DataMemberAttribute
// applied to be serialized and deserialized. The attribute specifies the
// name of a method (GetKnownTypes) in a class (Helper) defined below.
[ServiceKnownType("GetKnownTypes", typeof(Helper))]
[ServiceContract()]
public interface ICatalog
{
    // Any object type can be inserted into a Hashtable. The
    // ServiceKnownTypeAttribute allows you to include those types
    // with the client code.
    [OperationContract]
    Hashtable GetItems();
}

// This class has the method named GetKnownTypes that returns a generic IEnumerable.
static class Helper
{
    public static IEnumerable<Type> GetKnownTypes(ICustomAttributeProvider provider)
    {
        System.Collections.Generic.List<System.Type> knownTypes =
            new System.Collections.Generic.List<System.Type>();
        // Add any types to include here.
        knownTypes.Add(typeof(Widget));
        knownTypes.Add(typeof(Machine));
        return knownTypes;
    }
}

[DataContract()]
public class Widget
{
    [DataMember]
    public string Id;
    [DataMember]
    public string Catalog;
}

[DataContract()]
public class Machine : Widget
{
    [DataMember]
    public string Maker;
}
' Define a service contract and apply the ServiceKnownTypeAttribute
' to specify types to include when generating client code. 
' The types must have the DataContractAttribute and DataMemberAttribute
' applied to be serialized and deserialized. The attribute specifies the 
' name of a method (GetKnownTypes) in a class (Helper) defined below.
<ServiceKnownType("GetKnownTypes", GetType(Helper)), ServiceContract()>  _
Public Interface ICalculator
    ' Any object type can be inserted into a Hashtable. The 
    ' ServiceKnownTypeAttribute allows you to include those types
    ' with the client code.
    <OperationContract()>  _
    Function GetItems() As Hashtable 
End Interface 

' This class has the method named GetKnownTypes that returns a generic IEnumerable.
Friend Class Helper
    Public Shared  Function GetKnownTypes(provider As ICustomAttributeProvider) _
     As IEnumerable(of Type) 
        Dim knownTypes As List(Of Type) = New List(Of Type)
        ' Add any types to include here.
        knownTypes.Add(GetType(Widget))
        knownTypes.Add(GetType(Machine))
        Return knownTypes
    End Function 
End Class 

<DataContract()>  _
Public Class Widget
    <DataMember()>  _
    Public Id As String
    <DataMember()>  _
    Public Catalog As String
End Class 

<DataContract()>  _
Public Class Machine
    Inherits Widget
    <DataMember()>  _
    Public Maker As String
End Class

Ayrıca bkz.

Şunlara uygulanır