Språk

ServiceKnownTypeAttribute Konstruktorer

Definition

Initierar en ny instans av ServiceKnownTypeAttribute klassen.

Överlagringar

Name Description
ServiceKnownTypeAttribute(String)

Initierar en ny instans av ServiceKnownTypeAttribute klassen och anger namnet på en metod som returnerar de kända typerna.

ServiceKnownTypeAttribute(Type)

Initierar en ny instans av ServiceKnownTypeAttribute klassen med den angivna kända typen.

ServiceKnownTypeAttribute(String, Type)

Initierar en ny instans av ServiceKnownTypeAttribute klassen med namnet på en metod som returnerar de kända typerna och den typ som innehåller den metod (eller de metoder) som returnerar de kända typerna.

ServiceKnownTypeAttribute(String)

Källa:
ServiceKnownTypeAttribute.cs
Källa:
ServiceKnownTypeAttribute.cs
Källa:
ServiceKnownTypeAttribute.cs

Initierar en ny instans av ServiceKnownTypeAttribute klassen och anger namnet på en metod som returnerar de kända typerna.

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

Parametrar

methodName
String

Namnet på en metod som returnerar de kända typerna.

Kommentarer

Använd den här konstruktorn när du tillämpar på ServiceKnownTypeAttribute en klass som innehåller metoder som returnerar kända typer.

Se även

Gäller för

ServiceKnownTypeAttribute(Type)

Källa:
ServiceKnownTypeAttribute.cs
Källa:
ServiceKnownTypeAttribute.cs
Källa:
ServiceKnownTypeAttribute.cs

Initierar en ny instans av ServiceKnownTypeAttribute klassen med den angivna kända typen.

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

Parametrar

type
Type

Anger en känd typ som kan användas i en parameter eller ett returvärde som definierats av tjänsten.

Exempel

I följande exempel tillämpas attributet på ServiceKnownTypeAttribute ett gränssnitt där attributet anger vilken typ som ska inkluderas.

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

Kommentarer

ServiceKnownTypeAttribute Kan tillämpas flera gånger på en metod, där varje program namnger en annan känd typ som kan finnas i objektdiagrammet som returneras av metoden.

Gäller för

ServiceKnownTypeAttribute(String, Type)

Källa:
ServiceKnownTypeAttribute.cs
Källa:
ServiceKnownTypeAttribute.cs
Källa:
ServiceKnownTypeAttribute.cs

Initierar en ny instans av ServiceKnownTypeAttribute klassen med namnet på en metod som returnerar de kända typerna och den typ som innehåller den metod (eller de metoder) som returnerar de kända typerna.

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)

Parametrar

methodName
String

Namnet på en metod som returnerar de kända typerna.

declaringType
Type

Den typ som kan använda kända typer i objektdiagrammet.

Exempel

I följande exempel tillämpas attributet på ServiceKnownTypeAttribute ett gränssnitt där attributet anger ett metodnamn och en deklareringstyp.

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

Se även

Gäller för