ServiceKnownTypeAttribute Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса ServiceKnownTypeAttribute.
Перегрузки
ServiceKnownTypeAttribute(String) |
Инициализирует новый экземпляр класса ServiceKnownTypeAttribute и задает имя метода, который возвращает известные типы. |
ServiceKnownTypeAttribute(Type) |
Инициализирует новый экземпляр класса ServiceKnownTypeAttribute с заданным известным типом. |
ServiceKnownTypeAttribute(String, Type) |
Инициализирует новый экземпляр класса ServiceKnownTypeAttribute с именем метода, который возвращает известные типы и тип, содержащий метод (или методы), возвращающий известные типы. |
ServiceKnownTypeAttribute(String)
- Исходный код:
- ServiceKnownTypeAttribute.cs
- Исходный код:
- ServiceKnownTypeAttribute.cs
- Исходный код:
- ServiceKnownTypeAttribute.cs
Инициализирует новый экземпляр класса ServiceKnownTypeAttribute и задает имя метода, который возвращает известные типы.
public:
ServiceKnownTypeAttribute(System::String ^ methodName);
public ServiceKnownTypeAttribute (string methodName);
new System.ServiceModel.ServiceKnownTypeAttribute : string -> System.ServiceModel.ServiceKnownTypeAttribute
Public Sub New (methodName As String)
Параметры
- methodName
- String
Имя метода, который возвращает известные типы.
Комментарии
Используйте этот конструктор при применении ServiceKnownTypeAttribute к классу, который содержит методы, возвращающие известные типы.
См. также раздел
Применяется к
ServiceKnownTypeAttribute(Type)
- Исходный код:
- ServiceKnownTypeAttribute.cs
- Исходный код:
- ServiceKnownTypeAttribute.cs
- Исходный код:
- ServiceKnownTypeAttribute.cs
Инициализирует новый экземпляр класса ServiceKnownTypeAttribute с заданным известным типом.
public:
ServiceKnownTypeAttribute(Type ^ type);
public ServiceKnownTypeAttribute (Type type);
new System.ServiceModel.ServiceKnownTypeAttribute : Type -> System.ServiceModel.ServiceKnownTypeAttribute
Public Sub New (type As Type)
Параметры
- type
- Type
Задает известный тип, который может использоваться в параметре или возвращаемом значении, определенном службой.
Примеры
В следующем примере атрибут применяется ServiceKnownTypeAttribute к интерфейсу, в котором атрибут указывает тип для включения.
// 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
Комментарии
Объект ServiceKnownTypeAttribute может применяться несколько раз к методу, при этом каждое приложение именует другой известный тип, который может присутствовать в графе объекта, возвращаемом методом .
Применяется к
ServiceKnownTypeAttribute(String, Type)
- Исходный код:
- ServiceKnownTypeAttribute.cs
- Исходный код:
- ServiceKnownTypeAttribute.cs
- Исходный код:
- ServiceKnownTypeAttribute.cs
Инициализирует новый экземпляр класса ServiceKnownTypeAttribute с именем метода, который возвращает известные типы и тип, содержащий метод (или методы), возвращающий известные типы.
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)
Параметры
- methodName
- String
Имя метода, который возвращает известные типы.
- declaringType
- Type
Тип, который может использовать известные типы в своем графе объектов.
Примеры
В следующем примере атрибут применяется ServiceKnownTypeAttribute к интерфейсу, где атрибут задает имя метода и объявляющий тип.
// 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