Module.IsDefined(Type, Boolean) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve un valor que indica si el tipo de atributo especificado se ha aplicado a este módulo.
public:
virtual bool IsDefined(Type ^ attributeType, bool inherit);
public virtual bool IsDefined(Type attributeType, bool inherit);
abstract member IsDefined : Type * bool -> bool
override this.IsDefined : Type * bool -> bool
Public Overridable Function IsDefined (attributeType As Type, inherit As Boolean) As Boolean
Parámetros
- attributeType
- Type
Tipo de atributo personalizado para el que se va a probar.
- inherit
- Boolean
Este argumento se omite para los objetos de este tipo.
Devoluciones
true es si se han aplicado una o varias instancias de attributeType a este módulo; de lo contrario, falsees .
Implementaciones
Excepciones
attributeType es null.
attributeType no es un Type objeto proporcionado por el tiempo de ejecución. Por ejemplo, attributeType es un TypeBuilder objeto .
Ejemplos
En el ejemplo siguiente se muestra un uso del IsDefined método .
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;
}
}
}
Imports System.Reflection
'Define a module-level attribute.
<Module: ReflectionModule_Examples.MySimpleAttribute("module-level")>
'Define a module-level attribute.
Namespace ReflectionModule_Examples
Class MyMainClass
Shared Sub Main()
Dim moduleArray() As [Module]
moduleArray = GetType(MyMainClass).Assembly.GetModules(False)
'In a simple project with only one module, the module at index
' 0 will be the module containing these classes.
Dim myModule As [Module] = moduleArray(0)
Dim myType As Type
myType = myModule.GetType("ReflectionModule_Examples.MySimpleAttribute")
Console.WriteLine("IsDefined(MySimpleAttribute) = {0}", myModule.IsDefined(myType, False))
End Sub
End Class
'A very simple custom attribute.
<AttributeUsage(AttributeTargets.Class Or AttributeTargets.Module)> _
Public Class MySimpleAttribute
Inherits Attribute
Private name As String
Public Sub New(ByVal newName As String)
name = newName
End Sub
End Class
End Namespace 'ReflectionModule_Examples