| File: System\Runtime\Serialization\DataContractAttribute.cs | Web Access |
| Project: src\runtime\src\libraries\System.Runtime.Serialization.Primitives\src\System.Runtime.Serialization.Primitives.csproj (System.Runtime.Serialization.Primitives) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace System.Runtime.Serialization { [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum, Inherited = false, AllowMultiple = false)] public sealed class DataContractAttribute : Attribute { private string? _name; private string? _ns; private bool _isNameSetExplicitly; private bool _isNamespaceSetExplicitly; private bool _isReference; private bool _isReferenceSetExplicitly; public DataContractAttribute() { } public bool IsReference { get => _isReference; set { _isReference = value; _isReferenceSetExplicitly = true; } } public bool IsReferenceSetExplicitly => _isReferenceSetExplicitly; public string? Namespace { get => _ns; set { _ns = value; _isNamespaceSetExplicitly = true; } } public bool IsNamespaceSetExplicitly => _isNamespaceSetExplicitly; public string? Name { get => _name; set { _name = value; _isNameSetExplicitly = true; } } public bool IsNameSetExplicitly => _isNameSetExplicitly; } }