| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- //-----------------------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //-----------------------------------------------------------------------------
- namespace System.ServiceModel
- {
- using System;
- [AttributeUsage(ServiceModelAttributeTargets.ServiceContract | ServiceModelAttributeTargets.OperationContract, Inherited = false, AllowMultiple = false)]
- public sealed class XmlSerializerFormatAttribute : Attribute
- {
- bool supportFaults = false;
- OperationFormatStyle style;
- bool isStyleSet;
- OperationFormatUse use;
- public bool SupportFaults
- {
- get { return supportFaults; }
- set { supportFaults = value; }
- }
- public OperationFormatStyle Style
- {
- get { return style; }
- set
- {
- ValidateOperationFormatStyle(value);
- style = value;
- isStyleSet = true;
- }
- }
- public OperationFormatUse Use
- {
- get { return use; }
- set
- {
- ValidateOperationFormatUse(value);
- use = value;
- if (!isStyleSet && IsEncoded)
- Style = OperationFormatStyle.Rpc;
- }
- }
- internal bool IsEncoded
- {
- get { return use == OperationFormatUse.Encoded; }
- set { use = value ? OperationFormatUse.Encoded : OperationFormatUse.Literal; }
- }
- static internal void ValidateOperationFormatStyle(OperationFormatStyle value)
- {
- if (!OperationFormatStyleHelper.IsDefined(value))
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value"));
- }
- }
- static internal void ValidateOperationFormatUse(OperationFormatUse value)
- {
- if (!OperationFormatUseHelper.IsDefined(value))
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value"));
- }
- }
- }
- }
|