XmlSerializerFormatAttribute XmlSerializerFormatAttribute XmlSerializerFormatAttribute XmlSerializerFormatAttribute Class


指示 Windows Communication Foundation (WCF) 基础结构使用 XmlSerializer,而不是 XmlObjectSerializerInstructs the Windows Communication Foundation (WCF) infrastructure to use the XmlSerializer instead of the XmlObjectSerializer.

public ref class XmlSerializerFormatAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Interface | System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Interface | System.AttributeTargets.Method, Inherited=false)]
public sealed class XmlSerializerFormatAttribute : Attribute
type XmlSerializerFormatAttribute = class
    inherit Attribute
Public NotInheritable Class XmlSerializerFormatAttribute
Inherits Attribute


下面的示例将 XmlSerializerFormatAttribute 应用于接口。The following example applies the XmlSerializerFormatAttribute to an interface.

[ServiceContract, XmlSerializerFormat(Style = OperationFormatStyle.Rpc, 
    Use = OperationFormatUse.Encoded)]
public interface ICalculator
    [OperationContract, XmlSerializerFormat(Style = OperationFormatStyle.Rpc, 
        Use = OperationFormatUse.Encoded)]
    double Add(double a, double b);
<ServiceContract(), XmlSerializerFormat(Style := OperationFormatStyle.Rpc, _
   Use := OperationFormatUse.Encoded)>  _
Public Interface ICalculator
    <OperationContract(), XmlSerializerFormat(Style := OperationFormatStyle.Rpc, _
        Use := OperationFormatUse.Encoded)>  _
    Function Add(ByVal a As Double, ByVal b As Double) As Double 
End Interface 


此属性与 DataContractFormatAttribute 属性类似。This attribute is similar to the DataContractFormatAttribute attribute. 这两个属性可应用于方法、类或接口。Both attributes can be applied to a method, class, or interface.

有关 XmlSerializer 的详细信息,请参阅使用 XmlSerializer 类For more information about the XmlSerializer, see Using the XmlSerializer Class.

可以对方法应用两个属性中的一个,但不能同时应用。A method can have either of the two attributes applied, but not both. 任何尚未应用任意一种属性的操作都将使用应用于包含类的属性。Any operation that has neither applied uses the attribute applied to the containing class. 如果包含类未应用这两种属性中的任意一种,则使用 DataContractSerializerIf the containing class does not have either attribute applied, the DataContractSerializer is used.

应用该属性还会导致在运行时创建 XmlSerializerOperationBehaviorApplying the attribute also causes a XmlSerializerOperationBehavior to be created at runtime. 通过该行为,可以在序列化程序行为运行时进行自定义。The behavior allows customization at runtime of the serializer behavior.


XmlSerializerFormatAttribute() XmlSerializerFormatAttribute() XmlSerializerFormatAttribute() XmlSerializerFormatAttribute()

初始化 XmlSerializerFormatAttribute 类的新实例。Initializes a new instance of the XmlSerializerFormatAttribute class.


Style Style Style Style

获取或设置 XmlSerializer 的 SOAP 样式。Gets or sets the SOAP style of the XmlSerializer.

SupportFaults SupportFaults SupportFaults SupportFaults

获取或设置一个值,该值指示应使用 XmlSerializer 来读取和写入错误。Gets or sets a value that indicates that the XmlSerializer should be used for reading and writing faults.

TypeId TypeId TypeId TypeId

在派生类中实现时,获取此 Attribute 的唯一标识符。When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
Use Use Use Use

获取或设置一个指定要使用的格式的值。Gets or sets a value that specifies the format to use.


Equals(Object) Equals(Object) Equals(Object) Equals(Object)

返回一个值,该值指示此实例是否与指定的对象相等。Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

返回此实例的哈希代码。Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

获取当前实例的 TypeGets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

在派生类中重写时,指示此实例的值是否是派生类的默认值。When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

返回表示当前对象的字符串。Returns a string that represents the current object.

(Inherited from Object)


_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

将一组名称映射为对应的一组调度标识符。Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

检索对象的类型信息,然后可以使用该信息获取接口的类型信息。Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

检索对象提供的类型信息接口的数量(0 或 1)。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

提供对某一对象公开的属性和方法的访问。Provides access to properties and methods exposed by an object.

(Inherited from Attribute)