Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

55 lines
1.5 KiB
C#

//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------
namespace System.Runtime.Serialization
{
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
public sealed class DataMemberAttribute : Attribute
{
string name;
bool isNameSetExplicit;
int order = -1;
bool isRequired;
bool emitDefaultValue = Globals.DefaultEmitDefaultValue;
public DataMemberAttribute()
{
}
public string Name
{
get { return name; }
set { name = value; isNameSetExplicit = true; }
}
internal bool IsNameSetExplicit
{
get { return isNameSetExplicit; }
}
public int Order
{
get { return order; }
set
{
if (value < 0)
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidDataContractException(SR.GetString(SR.OrderCannotBeNegative)));
order = value;
}
}
public bool IsRequired
{
get { return isRequired; }
set { isRequired = value; }
}
public bool EmitDefaultValue
{
get { return emitDefaultValue; }
set { emitDefaultValue = value; }
}
}
}