[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/zhcom888/ClearScript/master/ClearScript/ScriptMemberAttribute.cs [Back]  [Original]

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.

using System;

namespace Microsoft.ClearScript
{
    /// 
    /// Specifies how the target type member is to be exposed to script code. This extended version
    /// supports additional options.
    /// 
    /// 
    /// This attribute is applicable to events, fields, methods, and properties.
    /// 
    [AttributeUsage(AttributeTargets.Event | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Property)]
    public sealed class ScriptMemberAttribute : ScriptUsageAttribute
    {
        /// 
        /// Initializes a new  instance.
        /// 
        public ScriptMemberAttribute()
        {
        }

        /// 
        /// Initializes a new  instance with the specified name.
        /// 
        /// The name that script code will use to access the target type member.
        public ScriptMemberAttribute(string name)
        {
            Name = name;
        }

        /// 
        /// Initializes a new  instance with the specified script access setting.
        /// 
        /// The script access setting for the target type member.
        public ScriptMemberAttribute(ScriptAccess access)
            : base(access)
        {
        }

        /// 
        /// Initializes a new  instance with the specified name and script access setting.
        /// 
        /// The name that script code will use to access the target type member.
        /// The script access setting for the target type member.
        public ScriptMemberAttribute(string name, ScriptAccess access)
            : base(access)
        {
            Name = name;
        }

        /// 
        /// Initializes a new  instance with the specified script options.
        /// 
        /// The script options for the target type member.
        public ScriptMemberAttribute(ScriptMemberFlags flags)
        {
            Flags = flags;
        }

        /// 
        /// Initializes a new  instance with the specified name and script options.
        /// 
        /// The name that script code will use to access the target type member.
        /// The script options for the target type member.
        public ScriptMemberAttribute(string name, ScriptMemberFlags flags)
        {
            Name = name;
            Flags = flags;
        }

        /// 
        /// Initializes a new  instance with the specified script access setting and script options.
        /// 
        /// The script access setting for the target type member.
        /// The script options for the target type member.
        public ScriptMemberAttribute(ScriptAccess access, ScriptMemberFlags flags)
            : base(access)
        {
            Flags = flags;
        }

        /// 
        /// Initializes a new  instance with the specified name, script access setting, and script options.
        /// 
        /// The name that script code will use to access the target type member.
        /// The script access setting for the target type member.
        /// The script options for the target type member.
        public ScriptMemberAttribute(string name, ScriptAccess access, ScriptMemberFlags flags)
            : base(access)
        {
            Name = name;
            Flags = flags;
        }

        /// 
        /// Gets or sets the name that script code will use to access the target type member.
        /// 
        /// 
        /// The default value is the name of the target type member. Note that this property has no
        /// effect on the method binding algorithm. If a script-based call is bound to a method
        /// that is exposed under a different name, it will be rejected even if an overload exists
        /// that could receive the call.
        /// 
        public string Name { get; set; }

        /// 
        /// Gets or sets the script options for the target type member.
        /// 
        public ScriptMemberFlags Flags { get; set; }
    }
}

Web Proxy Viewer  |  New URL  |  Original Page