Freigeben über


ServiceKnownTypeAttribute Konstruktoren

Definition

Initialisiert eine neue Instanz der ServiceKnownTypeAttribute-Klasse.

Überlädt

ServiceKnownTypeAttribute(String)

Initialisiert eine neue Instanz der ServiceKnownTypeAttribute-Klasse und gibt den Namen einer Methode an, die bekannte Typen zurückgibt.

ServiceKnownTypeAttribute(Type)

Initialisiert eine neue Instanz der ServiceKnownTypeAttribute-Klasse mit dem angegebenen bekannten Typ.

ServiceKnownTypeAttribute(String, Type)

Initialisiert eine neue Instanz der ServiceKnownTypeAttribute-Klasse mit dem Namen einer Methode, die bekannte Typen zurückgibt, und den Typ, der die Methoden beinhaltet, die die bekannten Typen zurückgeben.

ServiceKnownTypeAttribute(String)

Quelle:
ServiceKnownTypeAttribute.cs
Quelle:
ServiceKnownTypeAttribute.cs
Quelle:
ServiceKnownTypeAttribute.cs

Initialisiert eine neue Instanz der ServiceKnownTypeAttribute-Klasse und gibt den Namen einer Methode an, die bekannte Typen zurückgibt.

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

Parameter

methodName
String

Der Name einer Methode, die die bekannten Typen zurückgibt.

Hinweise

Verwenden Sie diesen Konstruktor, wenn Sie auf ServiceKnownTypeAttribute eine Klasse anwenden, die Methoden enthält, die bekannte Typen zurückgeben.

Weitere Informationen

Gilt für:

ServiceKnownTypeAttribute(Type)

Quelle:
ServiceKnownTypeAttribute.cs
Quelle:
ServiceKnownTypeAttribute.cs
Quelle:
ServiceKnownTypeAttribute.cs

Initialisiert eine neue Instanz der ServiceKnownTypeAttribute-Klasse mit dem angegebenen bekannten Typ.

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

Parameter

type
Type

Gibt einen bekannten Typ an, der in einem Parameter oder in einem vom Dienst definierten Rückgabewert verwendet werden kann.

Beispiele

Im folgenden Beispiel wird das ServiceKnownTypeAttribute Attribut auf eine Schnittstelle angewendet, in der das Attribut den einzuschließenden Typ angibt.

// 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

Hinweise

Kann ServiceKnownTypeAttribute mehrmals auf eine Methode angewendet werden, wobei jede Anwendung einen anderen bekannten Typ benennt, der im von der -Methode zurückgegebenen Objektgraphen vorhanden sein kann.

Gilt für:

ServiceKnownTypeAttribute(String, Type)

Quelle:
ServiceKnownTypeAttribute.cs
Quelle:
ServiceKnownTypeAttribute.cs
Quelle:
ServiceKnownTypeAttribute.cs

Initialisiert eine neue Instanz der ServiceKnownTypeAttribute-Klasse mit dem Namen einer Methode, die bekannte Typen zurückgibt, und den Typ, der die Methoden beinhaltet, die die bekannten Typen zurückgeben.

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)

Parameter

methodName
String

Der Name einer Methode, die die bekannten Typen zurückgibt.

declaringType
Type

Der Typ, der die bekannten Typen in seinem Objektdiagramm verwenden kann.

Beispiele

Im folgenden Beispiel wird das ServiceKnownTypeAttribute Attribut auf eine Schnittstelle angewendet, bei der das Attribut einen Methodennamen und einen deklarierenden Typ angibt.

// 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

Weitere Informationen

Gilt für: