DataServiceKeyAttribute.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / DataServiceKeyAttribute.cs / 1 / DataServiceKeyAttribute.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//  
//      Clr Attribute to be annotated on key properties
//  
// 
// @owner  [....], [....]
//--------------------------------------------------------------------- 
namespace System.Data.Services.Common
{
    using System;
    using System.Collections.Generic; 
    using System.Collections.ObjectModel;
    using System.Data.Services.Client; 
    using System.Linq; 

    ///  
    /// Attribute to be annotated on key properties
    /// 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1019:DefineAccessorsForAttributeArguments", Justification = "Accessors are available for processed input.")]
    [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] 
    public sealed class DataServiceKeyAttribute : System.Attribute
    { 
        /// Name of the properties that form the key. 
        private readonly ReadOnlyCollection keyNames;
 
        /// 
        /// Initializes a new instance of DataServiceKey attribute with the property name
        /// that forms the Key.
        ///  
        /// Name of the property that form the key for the current type.
        public DataServiceKeyAttribute(string keyName) 
        { 
            Util.CheckArgumentNull(keyName, "keyName");
            Util.CheckArgumentNotEmpty(keyName, "KeyName"); 
            this.keyNames = new ReadOnlyCollection(new string[1] { keyName });
        }

        ///  
        /// Initializes a new instance of DataServiceKey attribute with the list of property names
        /// that form the key. 
        ///  
        /// Name of the properties that form the key for the current type.
        public DataServiceKeyAttribute(params string[] keyNames) 
        {
            Util.CheckArgumentNull(keyNames, "keyNames");
            if (keyNames.Length == 0 || keyNames.Any(f => f == null || f.Length == 0))
            { 
                throw Error.Argument(Strings.DSKAttribute_MustSpecifyAtleastOnePropertyName, "keyNames");
            } 
 
            this.keyNames = new ReadOnlyCollection(keyNames);
        } 

        /// Name of the properties that form the key for the current type.
        public ReadOnlyCollection KeyNames
        { 
            get
            { 
                return this.keyNames; 
            }
        } 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//  
//      Clr Attribute to be annotated on key properties
//  
// 
// @owner  [....], [....]
//--------------------------------------------------------------------- 
namespace System.Data.Services.Common
{
    using System;
    using System.Collections.Generic; 
    using System.Collections.ObjectModel;
    using System.Data.Services.Client; 
    using System.Linq; 

    ///  
    /// Attribute to be annotated on key properties
    /// 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1019:DefineAccessorsForAttributeArguments", Justification = "Accessors are available for processed input.")]
    [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] 
    public sealed class DataServiceKeyAttribute : System.Attribute
    { 
        /// Name of the properties that form the key. 
        private readonly ReadOnlyCollection keyNames;
 
        /// 
        /// Initializes a new instance of DataServiceKey attribute with the property name
        /// that forms the Key.
        ///  
        /// Name of the property that form the key for the current type.
        public DataServiceKeyAttribute(string keyName) 
        { 
            Util.CheckArgumentNull(keyName, "keyName");
            Util.CheckArgumentNotEmpty(keyName, "KeyName"); 
            this.keyNames = new ReadOnlyCollection(new string[1] { keyName });
        }

        ///  
        /// Initializes a new instance of DataServiceKey attribute with the list of property names
        /// that form the key. 
        ///  
        /// Name of the properties that form the key for the current type.
        public DataServiceKeyAttribute(params string[] keyNames) 
        {
            Util.CheckArgumentNull(keyNames, "keyNames");
            if (keyNames.Length == 0 || keyNames.Any(f => f == null || f.Length == 0))
            { 
                throw Error.Argument(Strings.DSKAttribute_MustSpecifyAtleastOnePropertyName, "keyNames");
            } 
 
            this.keyNames = new ReadOnlyCollection(keyNames);
        } 

        /// Name of the properties that form the key for the current type.
        public ReadOnlyCollection KeyNames
        { 
            get
            { 
                return this.keyNames; 
            }
        } 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK