//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------ namespace System.Runtime.Serialization { [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, Inherited = false, AllowMultiple = false)] public sealed class CollectionDataContractAttribute : Attribute { string name; string ns; string itemName; string keyName; string valueName; bool isReference; bool isNameSetExplicitly; bool isNamespaceSetExplicitly; bool isReferenceSetExplicitly; bool isItemNameSetExplicitly; bool isKeyNameSetExplicitly; bool isValueNameSetExplicitly; public CollectionDataContractAttribute() { } public string Namespace { get { return ns; } set { ns = value; isNamespaceSetExplicitly = true; } } public bool IsNamespaceSetExplicitly { get { return isNamespaceSetExplicitly; } } public string Name { get { return name; } set { name = value; isNameSetExplicitly = true; } } public bool IsNameSetExplicitly { get { return isNameSetExplicitly; } } public string ItemName { get { return itemName; } set { itemName = value; isItemNameSetExplicitly = true; } } public bool IsItemNameSetExplicitly { get { return isItemNameSetExplicitly; } } public string KeyName { get { return keyName; } set { keyName = value; isKeyNameSetExplicitly = true; } } public bool IsReference { get { return isReference; } set { isReference = value; isReferenceSetExplicitly = true; } } public bool IsReferenceSetExplicitly { get { return isReferenceSetExplicitly; } } public bool IsKeyNameSetExplicitly { get { return isKeyNameSetExplicitly; } } public string ValueName { get { return valueName; } set { valueName = value; isValueNameSetExplicitly = true; } } public bool IsValueNameSetExplicitly { get { return isValueNameSetExplicitly; } } } }