ServiceKnownTypeAttribute Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci ServiceKnownTypeAttribute třídy .
Přetížení
ServiceKnownTypeAttribute(String) |
Inicializuje novou instanci ServiceKnownTypeAttribute třídy a určuje název metody, která vrací známé typy. |
ServiceKnownTypeAttribute(Type) |
Inicializuje novou instanci ServiceKnownTypeAttribute třídy se zadaným známým typem. |
ServiceKnownTypeAttribute(String, Type) |
Inicializuje novou instanci ServiceKnownTypeAttribute třídy s názvem metody, která vrací známé typy a typ, který obsahuje metodu (nebo metody), která vrací známé typy. |
ServiceKnownTypeAttribute(String)
Inicializuje novou instanci ServiceKnownTypeAttribute třídy a určuje název metody, která vrací známé typy.
public:
ServiceKnownTypeAttribute(System::String ^ methodName);
public ServiceKnownTypeAttribute (string methodName);
new System.ServiceModel.ServiceKnownTypeAttribute : string -> System.ServiceModel.ServiceKnownTypeAttribute
Public Sub New (methodName As String)
Parametry
- methodName
- String
Název metody, která vrací známé typy.
Poznámky
Tento konstruktor použijte při použití ServiceKnownTypeAttribute na třídu, která obsahuje metody, které vracejí známé typy.
Viz také
Platí pro
ServiceKnownTypeAttribute(Type)
Inicializuje novou instanci ServiceKnownTypeAttribute třídy se zadaným známým typem.
public:
ServiceKnownTypeAttribute(Type ^ type);
public ServiceKnownTypeAttribute (Type type);
new System.ServiceModel.ServiceKnownTypeAttribute : Type -> System.ServiceModel.ServiceKnownTypeAttribute
Public Sub New (type As Type)
Parametry
- type
- Type
Určuje známý typ, který lze použít v parametru nebo návratové hodnotě definované službou.
Příklady
Následující příklad aplikuje ServiceKnownTypeAttribute atribut na rozhraní, kde atribut určuje typ, který se má zahrnout.
// 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
Poznámky
Metodu ServiceKnownTypeAttribute lze použít několikrát, přičemž každá aplikace pojmovává jiný známý typ, který může být přítomen v grafu objektu vráceného metodou.
Platí pro
ServiceKnownTypeAttribute(String, Type)
Inicializuje novou instanci ServiceKnownTypeAttribute třídy s názvem metody, která vrací známé typy a typ, který obsahuje metodu (nebo metody), která vrací známé typy.
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)
Parametry
- methodName
- String
Název metody, která vrací známé typy.
- declaringType
- Type
Typ, který může použít známé typy v grafu objektů.
Příklady
Následující příklad použije ServiceKnownTypeAttribute atribut na rozhraní, kde atribut určuje název metody a deklarující typ.
// 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