MethodBase.Attributes Property  
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the attributes associated with this method.
public:
 abstract property System::Reflection::MethodAttributes Attributes { System::Reflection::MethodAttributes get(); };public abstract System.Reflection.MethodAttributes Attributes { get; }member this.Attributes : System.Reflection.MethodAttributesPublic MustOverride ReadOnly Property Attributes As MethodAttributesProperty Value
One of the MethodAttributes values.
Implements
Examples
The following code example displays the attributes of the user-defined method Mymethod.
using System;
using System.Reflection;
class AttributesSample
{
    public void Mymethod (int int1m, out string str2m, ref string str3m)
    {
        str2m = "in Mymethod";
    }
    public static int Main(string[] args)
    {
        Console.WriteLine ("Reflection.MethodBase.Attributes Sample");
        // Get the type.
        Type MyType = Type.GetType("AttributesSample");
        // Get the method Mymethod on the type.
        MethodBase Mymethodbase = MyType.GetMethod("Mymethod");
        // Display the method name.
        Console.WriteLine("Mymethodbase = " + Mymethodbase);
        // Get the MethodAttribute enumerated value.
        MethodAttributes Myattributes = Mymethodbase.Attributes;
        // Display the flags that are set.
        PrintAttributes(typeof(System.Reflection.MethodAttributes), (int) Myattributes);
        return 0;
    }
    public static void PrintAttributes(Type attribType, int iAttribValue)
    {
        if (!attribType.IsEnum)
        {
            Console.WriteLine("This type is not an enum.");
            return;
        }
        FieldInfo[] fields = attribType.GetFields(BindingFlags.Public | BindingFlags.Static);
        for (int i = 0; i < fields.Length; i++)
        {
            int fieldvalue = (int)fields[i].GetValue(null);
            if ((fieldvalue & iAttribValue) == fieldvalue)
            {
                Console.WriteLine(fields[i].Name);
            }
        }
    }
}
Imports System.Reflection
Class AttributesSample
    Public Sub Mymethod(ByVal int1m As Integer, ByRef str2m As String, ByRef str3m As String)
        str2m = "in Mymethod"
    End Sub
    Public Shared Function Main(ByVal args() As String) As Integer
        Console.WriteLine("Reflection.MethodBase.Attributes Sample")
        ' Get the type.
        Dim MyType As Type = Type.GetType("AttributesSample")
        ' Get the method Mymethod on the type.
        Dim Mymethodbase As MethodBase = MyType.GetMethod("Mymethod")
        ' Display the method name.
        Console.WriteLine("Mymethodbase = {0}.", Mymethodbase)
        ' Get the MethodAttribute enumerated value.
        Dim Myattributes As MethodAttributes = Mymethodbase.Attributes
        ' Display the flags that are set.
        PrintAttributes(GetType(System.Reflection.MethodAttributes), CInt(Myattributes))
        Return 0
    End Function 'Main
    Public Shared Sub PrintAttributes(ByVal attribType As Type, ByVal iAttribValue As Integer)
        If Not attribType.IsEnum Then
            Console.WriteLine("This type is not an enum.")
            Return
        End If
        Dim fields As FieldInfo() = attribType.GetFields((BindingFlags.Public Or BindingFlags.Static))
        Dim i As Integer
        For i = 0 To fields.Length - 1
            Dim fieldvalue As Integer = CType(fields(i).GetValue(Nothing), Int32)
            If (fieldvalue And iAttribValue) = fieldvalue Then
                Console.WriteLine(fields(i).Name)
            End If
        Next i
    End Sub
End Class
This code produces the following output:
Reflection.MethodBase.Attributes Sample
Mymethodbase = Void Mymethod(Int32, System.String ByRef, System.String ByRef)
PrivateScope
FamANDAssem
Family
Public
HideBySig
ReuseSlot
Remarks
All members have a set of attributes, which are defined in relation to the specific type of member.
To get the MethodAttributes, first get the type. From the type, get the method. From the method, get the MethodAttributes.
Notes to Implementers
Use the Attributes property to determine whether a method is public, private, final, virtual, and so on.