ServiceKnownTypeAttribute Costruttori

Definizione

Inizializza una nuova istanza della classe ServiceKnownTypeAttribute.

Overload

Nome Descrizione
ServiceKnownTypeAttribute(String)

Inizializza una nuova istanza della ServiceKnownTypeAttribute classe e specifica il nome di un metodo che restituisce i tipi noti.

ServiceKnownTypeAttribute(Type)

Inizializza una nuova istanza della ServiceKnownTypeAttribute classe con il tipo noto specificato.

ServiceKnownTypeAttribute(String, Type)

Inizializza una nuova istanza della ServiceKnownTypeAttribute classe con il nome di un metodo che restituisce i tipi noti e il tipo che contiene il metodo (o i metodi) che restituisce i tipi noti.

ServiceKnownTypeAttribute(String)

Origine:
ServiceKnownTypeAttribute.cs
Origine:
ServiceKnownTypeAttribute.cs
Origine:
ServiceKnownTypeAttribute.cs

Inizializza una nuova istanza della ServiceKnownTypeAttribute classe e specifica il nome di un metodo che restituisce i tipi noti.

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

Parametri

methodName
String

Nome di un metodo che restituisce i tipi noti.

Commenti

Utilizzare questo costruttore quando si ServiceKnownTypeAttribute applica a una classe che contiene metodi che restituiscono tipi noti.

Vedi anche

Si applica a

ServiceKnownTypeAttribute(Type)

Origine:
ServiceKnownTypeAttribute.cs
Origine:
ServiceKnownTypeAttribute.cs
Origine:
ServiceKnownTypeAttribute.cs

Inizializza una nuova istanza della ServiceKnownTypeAttribute classe con il tipo noto specificato.

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

Parametri

type
Type

Specifica un tipo noto che può essere utilizzato in un parametro o un valore restituito definito dal servizio.

Esempio

Nell'esempio seguente l'attributo viene applicato a un'interfaccia ServiceKnownTypeAttribute in cui l'attributo specifica il tipo da includere.

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

Commenti

Può ServiceKnownTypeAttribute essere applicato più volte a un metodo, con ogni applicazione che denomina un tipo noto diverso che può essere presente nell'oggetto grafico restituito dal metodo .

Si applica a

ServiceKnownTypeAttribute(String, Type)

Origine:
ServiceKnownTypeAttribute.cs
Origine:
ServiceKnownTypeAttribute.cs
Origine:
ServiceKnownTypeAttribute.cs

Inizializza una nuova istanza della ServiceKnownTypeAttribute classe con il nome di un metodo che restituisce i tipi noti e il tipo che contiene il metodo (o i metodi) che restituisce i tipi noti.

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)

Parametri

methodName
String

Nome di un metodo che restituisce i tipi noti.

declaringType
Type

Tipo che può usare i tipi noti nel relativo oggetto grafico.

Esempio

Nell'esempio seguente viene applicato l'attributo a un'interfaccia ServiceKnownTypeAttribute in cui l'attributo specifica un nome di metodo e un tipo dichiarante.

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

Vedi anche

Si applica a