Module.GetType Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce il tipo specificato.
Overload
| Nome | Descrizione |
|---|---|
| GetType(String) |
Restituisce il tipo specificato, eseguendo una ricerca con distinzione tra maiuscole e minuscole. |
| GetType(String, Boolean) |
Restituisce il tipo specificato, cercando il modulo con la distinzione tra maiuscole e minuscole specificate. |
| GetType(String, Boolean, Boolean) |
Restituisce il tipo specificato, specificando se eseguire una ricerca con distinzione tra maiuscole e minuscole del modulo e se generare un'eccezione se non è possibile trovare il tipo. |
GetType(String)
Restituisce il tipo specificato, eseguendo una ricerca con distinzione tra maiuscole e minuscole.
public:
virtual Type ^ GetType(System::String ^ className);
public virtual Type GetType(string className);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType(string className);
override this.GetType : string -> Type
[<System.Runtime.InteropServices.ComVisible(true)>]
override this.GetType : string -> Type
Public Overridable Function GetType (className As String) As Type
Parametri
- className
- String
Nome del tipo da individuare. Il nome deve essere completo con lo spazio dei nomi .
Valori restituiti
Oggetto Type che rappresenta il tipo specificato, se il tipo si trova in questo modulo; in caso contrario, null.
- Attributi
Eccezioni
className è null.
Gli inizializzatori di classe vengono richiamati e viene generata un'eccezione.
className è una stringa di lunghezza zero.
className richiede un assembly dipendente che non è stato trovato.
className richiede un assembly dipendente trovato ma che non è stato possibile caricare.
oppure
L'assembly corrente è stato caricato nel contesto di sola reflection e className richiede un assembly dipendente che non è stato precaricato.
className richiede un assembly dipendente, ma il file non è un assembly valido.
oppure
className richiede un assembly dipendente compilato per una versione del runtime successiva alla versione attualmente caricata.
Esempio
Nell'esempio seguente viene visualizzato il nome di un tipo nel modulo specificato.
using System;
using System.Reflection;
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.MyMainClass");
Console.WriteLine("Got type: {0}", myType.ToString());
}
}
}
Imports System.Reflection
'This code assumes that the root namespace is set to empty("").
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.MyMainClass")
Console.WriteLine("Got type: {0}", myType.ToString())
End Sub
End Class
End Namespace 'ReflectionModule_Examples
Commenti
Annotazioni
Se il tipo è stato inoltrato a un altro assembly, viene comunque restituito da questo metodo. Per informazioni sull'inoltro dei tipi, vedere Inoltro dei tipi in Common Language Runtime.
Un tipo può essere recuperato da un modulo specifico usando Module.GetType. La chiamata Module.GetType al modulo che contiene il manifesto non eseguirà la ricerca nell'intero assembly. Per recuperare un tipo da un assembly, indipendentemente dal modulo in cui si trova, è necessario chiamare Assembly.GetType.
Si applica a
GetType(String, Boolean)
Restituisce il tipo specificato, cercando il modulo con la distinzione tra maiuscole e minuscole specificate.
public:
virtual Type ^ GetType(System::String ^ className, bool ignoreCase);
public virtual Type GetType(string className, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType(string className, bool ignoreCase);
override this.GetType : string * bool -> Type
[<System.Runtime.InteropServices.ComVisible(true)>]
override this.GetType : string * bool -> Type
Public Overridable Function GetType (className As String, ignoreCase As Boolean) As Type
Parametri
- className
- String
Nome del tipo da individuare. Il nome deve essere completo con lo spazio dei nomi .
- ignoreCase
- Boolean
true per la ricerca senza distinzione tra maiuscole e minuscole; in caso contrario, false.
Valori restituiti
Oggetto Type che rappresenta il tipo specificato, se il tipo si trova in questo modulo; in caso contrario, null.
- Attributi
Eccezioni
className è null.
Gli inizializzatori di classe vengono richiamati e viene generata un'eccezione.
className è una stringa di lunghezza zero.
className richiede un assembly dipendente che non è stato trovato.
className richiede un assembly dipendente trovato ma che non è stato possibile caricare.
oppure
L'assembly corrente è stato caricato nel contesto di sola reflection e className richiede un assembly dipendente che non è stato precaricato.
className richiede un assembly dipendente, ma il file non è un assembly valido.
oppure
className richiede un assembly dipendente compilato per una versione del runtime successiva alla versione attualmente caricata.
Esempio
Nell'esempio seguente viene visualizzato il nome di un tipo nel modulo specificato, specificando false per il ignoreCase parametro in modo che il case non venga ignorato.
using System;
using System.Reflection;
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.MyMainClass", false);
Console.WriteLine("Got type: {0}", myType.ToString());
}
}
}
Imports System.Reflection
'This code assumes that the root namespace is set to empty("").
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.MyMainClass", False)
Console.WriteLine("Got type: {0}", myType.ToString())
End Sub
End Class
End Namespace 'ReflectionModule_Examples
Commenti
Annotazioni
Se il tipo è stato inoltrato a un altro assembly, viene comunque restituito da questo metodo. Per informazioni sull'inoltro dei tipi, vedere Inoltro dei tipi in Common Language Runtime.
Un tipo può essere recuperato da un modulo specifico usando Module.GetType. La chiamata Module.GetType al modulo che contiene il manifesto non eseguirà la ricerca nell'intero assembly. Per recuperare un tipo da un assembly, indipendentemente dal modulo in cui si trova, è necessario chiamare Assembly.GetType.
Si applica a
GetType(String, Boolean, Boolean)
Restituisce il tipo specificato, specificando se eseguire una ricerca con distinzione tra maiuscole e minuscole del modulo e se generare un'eccezione se non è possibile trovare il tipo.
public:
virtual Type ^ GetType(System::String ^ className, bool throwOnError, bool ignoreCase);
public virtual Type GetType(string className, bool throwOnError, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType(string className, bool throwOnError, bool ignoreCase);
override this.GetType : string * bool * bool -> Type
[<System.Runtime.InteropServices.ComVisible(true)>]
override this.GetType : string * bool * bool -> Type
Public Overridable Function GetType (className As String, throwOnError As Boolean, ignoreCase As Boolean) As Type
Parametri
- className
- String
Nome del tipo da individuare. Il nome deve essere completo con lo spazio dei nomi .
- throwOnError
- Boolean
true per generare un'eccezione se non è possibile trovare il tipo; false per restituire null.
- ignoreCase
- Boolean
true per la ricerca senza distinzione tra maiuscole e minuscole; in caso contrario, false.
Valori restituiti
Oggetto Type che rappresenta il tipo specificato, se il tipo è dichiarato in questo modulo; in caso contrario, null.
- Attributi
Eccezioni
className è null.
Gli inizializzatori di classe vengono richiamati e viene generata un'eccezione.
className è una stringa di lunghezza zero.
throwOnError è truee non è possibile trovare il tipo .
className richiede un assembly dipendente che non è stato trovato.
className richiede un assembly dipendente trovato ma che non è stato possibile caricare.
oppure
L'assembly corrente è stato caricato nel contesto di sola reflection e className richiede un assembly dipendente che non è stato precaricato.
className richiede un assembly dipendente, ma il file non è un assembly valido.
oppure
className richiede un assembly dipendente compilato per una versione del runtime successiva alla versione attualmente caricata.
Esempio
Nell'esempio seguente viene visualizzato il nome di un tipo nel modulo specificato. I throwOnError parametri e ignoreCase vengono specificati come false.
using System;
using System.Reflection;
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 this class.
Module myModule = moduleArray[0];
Type myType;
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", false, false);
Console.WriteLine("Got type: {0}", myType.ToString());
}
}
}
Imports System.Reflection
'This code assumes that the root namespace is set to empty("").
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 this class.
Dim myModule As [Module] = moduleArray(0)
Dim myType As Type
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", False, False)
Console.WriteLine("Got type: {0}", myType.ToString())
End Sub
End Class
End Namespace 'ReflectionModule_Examples
Commenti
Il throwOnError parametro influisce solo su ciò che accade quando il tipo non viene trovato. Non influisce su altre eccezioni che potrebbero essere generate. In particolare, se il tipo viene trovato ma non può essere caricato, TypeLoadException può essere generato anche se throwOnError è false.
Annotazioni
Se il tipo è stato inoltrato a un altro assembly, viene comunque restituito da questo metodo. Per informazioni sull'inoltro dei tipi, vedere Inoltro dei tipi in Common Language Runtime.
Un tipo può essere recuperato da un modulo specifico usando Module.GetType. La chiamata Module.GetType al modulo che contiene il manifesto non eseguirà la ricerca nell'intero assembly. Per recuperare un tipo da un assembly, indipendentemente dal modulo in cui si trova, è necessario chiamare Assembly.GetType.