Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad MethodBase.Attributes

 

Publicado: octubre de 2016

Obtiene los atributos asociados a este método.

Espacio de nombres:   System.Reflection
Ensamblado:  mscorlib (en mscorlib.dll)

public abstract MethodAttributes Attributes { get; }

Valor de propiedad

Type: System.Reflection.MethodAttributes

Uno de los valores de MethodAttributes.

Todos los miembros tienen un conjunto de atributos que se definen en relación con el tipo específico del miembro.

Para obtener la MethodAttributes, obtenga primero el tipo. A partir del tipo, obtenga el método. A partir del método, obtenga el MethodAttributes.

Notas para implementadores:

Utilice la Attributes propiedad para determinar si un método es public, private, final, virtual, y así sucesivamente.

El ejemplo de código siguiente muestra los atributos del método Mymethod definido por el usuario.


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 = (Int32)fields[i].GetValue(null);
            if ((fieldvalue & iAttribValue) == fieldvalue)
            {
                Console.WriteLine(fields[i].Name);
            }
        }
    }
}

Este código genera el siguiente resultado:

Ejemplo de Reflection.MethodBase.Attributes

Mymethodbase = Mymethod Void (Int32, ByRef System.String, System.String ByRef)

PrivateScope

FamANDAssem

Familia

Público

HideBySig

ReuseSlot

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: