Afficher en anglais

Partage via


Module.IsDefined(Type, Boolean) Méthode

Définition

Retourne une valeur qui indique si le type d'attribut spécifié a été appliqué à ce module.

C#
public virtual bool IsDefined (Type attributeType, bool inherit);

Paramètres

attributeType
Type

Type de l'attribut personnalisé à tester.

inherit
Boolean

Cet argument est ignoré pour les objets de ce type.

Retours

true si une ou plusieurs instances de attributeType ont été appliquées à ce module ; sinon, false.

Implémente

Exceptions

attributeType a la valeur null.

attributeType n’est pas un objet Type fourni par le runtime. Par exemple, attributeType est un objet TypeBuilder.

Exemples

L’exemple suivant illustre l’utilisation de la IsDefined méthode .

C#
using System;
using System.Reflection;

//Define a module-level attribute.
[module: ReflectionModule_Examples.MySimpleAttribute("module-level")]

namespace ReflectionModule_Examples
{
    class MyMainClass
    {
        static void Main()
        {
            Module[] moduleArray;
            
            moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
            
            //In a simple project with only one module, the module at index
            // 0 will be the module containing these classes.
            Module myModule = moduleArray[0];

            Type myType;
            myType = myModule.GetType("ReflectionModule_Examples.MySimpleAttribute");
            Console.WriteLine("IsDefined(MySimpleAttribute) = {0}", myModule.IsDefined(myType, false));
        }
    }

    //A very simple custom attribute.
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Module)]
    public class MySimpleAttribute : Attribute
    {
        private string name;

        public MySimpleAttribute(string newName)
        {
            name = newName;
        }
    }
}

S’applique à

Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1