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 que se va a probar.
- inherit
- Boolean
Se omite este argumento para los objetos de este tipo.
Devoluciones
Es true
si se han aplicado una o varias instancias de attributeType
a este módulo; de lo contrario, es false
.
Implementaciones
Excepciones
attributeType
es null
.
attributeType
no es un objeto Type proporcionado por el tiempo de ejecución. Por ejemplo, attributeType
es un objeto TypeBuilder.
Ejemplos
En el ejemplo siguiente se muestra un uso del IsDefined
método .
using namespace System;
using namespace System::Reflection;
namespace ReflectionModule_Examples
{
//A very simple custom attribute.
[AttributeUsage(AttributeTargets::Class|AttributeTargets::Module)]
public ref class MySimpleAttribute: public Attribute
{
private:
String^ name;
public:
MySimpleAttribute( String^ newName )
{
name = newName;
}
};
}
//Define a module-level attribute.
[module:ReflectionModule_Examples::MySimpleAttribute("module-level")];
int main()
{
array<System::Reflection::Module^>^moduleArray;
moduleArray = ReflectionModule_Examples::MySimpleAttribute::typeid->Assembly->GetModules( false );
//In a simple project with only one module, the module at index
// 0 will be the module containing these classes.
System::Reflection::Module^ myModule = moduleArray[ 0 ];
Type^ myType;
myType = myModule->GetType( "ReflectionModule_Examples.MySimpleAttribute" );
Console::WriteLine( "IsDefined(MySimpleAttribute) = {0}", myModule->IsDefined( myType, false ) );
}
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