DataContractAttribute.Name Property

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Gets or sets the name of the data contract for the type.

Namespace:  System.Runtime.Serialization
Assembly:  System.Runtime.Serialization (in System.Runtime.Serialization.dll)

Syntax

'Declaration
Public Property Name As String
public string Name { get; set; }

Property Value

Type: System.String
The local name of the data contract. The default value is the name of the class that the attribute is applied to.

Remarks

The Name property is used to give a name to a data contract, which is also the name of the type in XML schema.

By default, the name of a data contract is the name of the type that the DataContractAttribute is applied to. However, there may be reasons to change this default name. One reason is to allow an existing type to process data that must conform to an existing data contract. For example, there exists a type named Person but the data contract, embodied in an XML schema, requires that the name be Customer. The contract can be satisfied by setting the property value to Customer.

A second reason is to allow the generation of names that are invalid as type names. For example, if a data contract demands a name that is not allowable as a type name, set the property value to that disallowed name. For example, the string $value is disallowed as a type name but is allowed as a Name property value.

Examples

    ' Define the data contract.
    <DataContract(Name := "Customer", Namespace := "http://www.contoso.com", IsReference := True)> _
    Public Class User
        Private privateName As String
        <DataMember(Name := "Last", EmitDefaultValue := True, IsRequired := True, Order := 2)> _
        Public Property Name() As String
            Get
                Return privateName
            End Get
            Set(ByVal value As String)
                privateName = value
            End Set
        End Property

        Private privateAge As Integer
        <DataMember(Order := 1)> _
        Public Property Age() As Integer
            Get
                Return privateAge
            End Get
            Set(ByVal value As Integer)
                privateAge = value
            End Set
        End Property

        Public Sub New()
        End Sub

        Public Sub New(ByVal newName As String, ByVal newAge As Integer)
            Name = newName
            Age = newAge
        End Sub
    End Class
// Define the data contract.
[DataContract(Name = "Customer", Namespace = "http://www.contoso.com", IsReference = true)]
public class User
{
    [DataMember(Name = "Last", EmitDefaultValue = true, IsRequired = true, Order = 2)]
    public string Name { get; set; }

    [DataMember(Order = 1)]
    public int Age { get; set; }

    public User() { }

    public User(string newName, int newAge)
    {
        Name = newName;
        Age = newAge;
    }
}

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.