summaryrefslogtreecommitdiff
path: root/src/mscorlib/src/System/Reflection/ParameterAttributes.cs
blob: 12f8145ddd59750bdd45672a1e5ed6ce5853cbb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//
// ParameterAttributes is an enum defining the attributes that may be 
// 
//    associated with a Parameter.  These are defined in CorHdr.h.
//
//
namespace System.Reflection {
    
    using System;
    // This Enum matchs the CorParamAttr defined in CorHdr.h
[Serializable]
    [Flags]
    [System.Runtime.InteropServices.ComVisible(true)]
    public enum ParameterAttributes
    {
        None      =   0x0000,      // no flag is specified
        In        =   0x0001,     // Param is [In]    
        Out       =   0x0002,     // Param is [Out]   
        Lcid      =   0x0004,     // Param is [lcid]  
        Retval    =   0x0008,     // Param is [Retval]    
        Optional  =   0x0010,     // Param is optional 

        // Reserved flags for Runtime use only.
        ReservedMask              =   0xf000,
        HasDefault                =   0x1000,     // Param has default value.
        HasFieldMarshal           =   0x2000,     // Param has FieldMarshal.
        Reserved3                 =   0x4000,     // reserved bit
        Reserved4                 =   0x8000      // reserved bit 
    }
}