Bagikan melalui


Module.GetType Metode

Definisi

Mengembalikan jenis yang ditentukan.

Overload

GetType(String)

Mengembalikan jenis yang ditentukan, melakukan pencarian peka huruf besar/kecil.

GetType(String, Boolean)

Mengembalikan jenis yang ditentukan, mencari modul dengan sensitivitas kasus yang ditentukan.

GetType(String, Boolean, Boolean)

Mengembalikan jenis yang ditentukan, menentukan apakah akan membuat pencarian modul yang peka huruf besar/kecil dan apakah akan melemparkan pengecualian jika jenis tidak dapat ditemukan.

GetType(String)

Sumber:
Module.cs
Sumber:
Module.cs
Sumber:
Module.cs

Mengembalikan jenis yang ditentukan, melakukan pencarian peka huruf besar/kecil.

public:
 virtual Type ^ GetType(System::String ^ className);
public virtual Type? GetType (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

Parameter

className
String

Nama jenis yang akan ditemukan. Nama harus sepenuhnya memenuhi syarat dengan namespace.

Mengembalikan

Objek Type yang mewakili jenis yang diberikan, jika jenisnya ada dalam modul ini; jika tidak, null.

Atribut

Pengecualian

classNameadalah null.

Inisialisasi kelas dipanggil dan pengecualian dilemparkan.

className adalah string panjang nol.

className memerlukan rakitan dependen yang tidak dapat ditemukan.

className memerlukan rakitan dependen yang ditemukan tetapi tidak dapat dimuat.

-atau-

Rakitan saat ini dimuat ke dalam konteks khusus refleksi, dan className memerlukan rakitan dependen yang tidak dimuat sebelumnya.

className memerlukan rakitan dependen, tetapi file bukan rakitan yang valid.

-atau-

className memerlukan rakitan dependen yang dikompilasi untuk versi runtime lebih lambat dari versi yang saat ini dimuat.

Contoh

Contoh berikut menampilkan nama jenis dalam modul yang ditentukan.

using namespace System;
using namespace System::Reflection;

namespace ReflectionModule_Examples
{
   public ref class MyMainClass{};

}

int main()
{
   array<Module^>^moduleArray;
   moduleArray = ReflectionModule_Examples::MyMainClass::typeid->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 );
}
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

Keterangan

Catatan

Jika jenis telah diteruskan ke rakitan lain, jenis tersebut masih dikembalikan oleh metode ini. Untuk informasi tentang penerusan jenis, lihat Penerusan Jenis di Common Language Runtime.

Jenis dapat diambil dari modul tertentu menggunakan Module.GetType. Memanggil Module.GetType pada modul yang berisi manifes tidak akan mencari seluruh perakitan. Untuk mengambil jenis dari assembly, terlepas dari modul tempatnya berada, Anda harus memanggil Assembly.GetType.

Berlaku untuk

GetType(String, Boolean)

Sumber:
Module.cs
Sumber:
Module.cs
Sumber:
Module.cs

Mengembalikan jenis yang ditentukan, mencari modul dengan sensitivitas kasus yang ditentukan.

public:
 virtual Type ^ GetType(System::String ^ className, bool ignoreCase);
public virtual Type? GetType (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

Parameter

className
String

Nama jenis yang akan ditemukan. Nama harus sepenuhnya memenuhi syarat dengan namespace.

ignoreCase
Boolean

true untuk pencarian tidak peka huruf besar/kecil; jika tidak, false.

Mengembalikan

Objek Type yang mewakili jenis yang diberikan, jika jenisnya ada dalam modul ini; jika tidak, null.

Atribut

Pengecualian

classNameadalah null.

Inisialisasi kelas dipanggil dan pengecualian dilemparkan.

className adalah string panjang nol.

className memerlukan rakitan dependen yang tidak dapat ditemukan.

className memerlukan rakitan dependen yang ditemukan tetapi tidak dapat dimuat.

-atau-

Rakitan saat ini dimuat ke dalam konteks khusus refleksi, dan className memerlukan rakitan dependen yang tidak dimuat sebelumnya.

className memerlukan rakitan dependen, tetapi file bukan rakitan yang valid.

-atau-

className memerlukan rakitan dependen yang dikompilasi untuk versi runtime lebih lambat dari versi yang saat ini dimuat.

Contoh

Contoh berikut menampilkan nama jenis dalam modul yang ditentukan, menentukan false untuk ignoreCase parameter sehingga kasus tidak akan diabaikan.

using namespace System;
using namespace System::Reflection;

namespace ReflectionModule_Examples
{
   public ref class MyMainClass{};

}

int main()
{
   array<Module^>^moduleArray;
   moduleArray = ReflectionModule_Examples::MyMainClass::typeid->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 );
}
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

Keterangan

Catatan

Jika jenis telah diteruskan ke rakitan lain, jenis tersebut masih dikembalikan oleh metode ini. Untuk informasi tentang penerusan jenis, lihat Penerusan Jenis di Common Language Runtime.

Jenis dapat diambil dari modul tertentu menggunakan Module.GetType. Memanggil Module.GetType pada modul yang berisi manifes tidak akan mencari seluruh perakitan. Untuk mengambil jenis dari assembly, terlepas dari modul tempatnya berada, Anda harus memanggil Assembly.GetType.

Berlaku untuk

GetType(String, Boolean, Boolean)

Sumber:
Module.cs
Sumber:
Module.cs
Sumber:
Module.cs

Mengembalikan jenis yang ditentukan, menentukan apakah akan membuat pencarian modul yang peka huruf besar/kecil dan apakah akan melemparkan pengecualian jika jenis tidak dapat ditemukan.

public:
 virtual Type ^ GetType(System::String ^ className, bool throwOnError, bool ignoreCase);
public virtual Type GetType (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

Parameter

className
String

Nama jenis yang akan ditemukan. Nama harus sepenuhnya memenuhi syarat dengan namespace.

throwOnError
Boolean

true untuk melemparkan pengecualian jika jenis tidak dapat ditemukan; false untuk mengembalikan null.

ignoreCase
Boolean

true untuk pencarian tidak peka huruf besar/kecil; jika tidak, false.

Mengembalikan

Objek Type yang mewakili jenis yang ditentukan, jika jenisnya dideklarasikan dalam modul ini; jika tidak, null.

Atribut

Pengecualian

classNameadalah null.

Inisialisasi kelas dipanggil dan pengecualian dilemparkan.

className adalah string panjang nol.

throwOnError adalah true, dan jenis tidak dapat ditemukan.

className memerlukan rakitan dependen yang tidak dapat ditemukan.

className memerlukan rakitan dependen yang ditemukan tetapi tidak dapat dimuat.

-atau-

Rakitan saat ini dimuat ke dalam konteks khusus refleksi, dan className memerlukan rakitan dependen yang tidak dimuat sebelumnya.

className memerlukan rakitan dependen, tetapi file bukan rakitan yang valid.

-atau-

className memerlukan rakitan dependen yang dikompilasi untuk versi runtime lebih lambat dari versi yang saat ini dimuat.

Contoh

Contoh berikut menampilkan nama jenis dalam modul yang ditentukan. Parameter throwOnError dan ignoreCase ditentukan sebagai false.

using namespace System;
using namespace System::Reflection;

namespace ReflectionModule_Examples
{
   public ref class MyMainClass{};

}

int main()
{
   array<Module^>^moduleArray;
   moduleArray = ReflectionModule_Examples::MyMainClass::typeid->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 );
}
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

Keterangan

Parameter throwOnError hanya memengaruhi apa yang terjadi ketika jenis tidak ditemukan. Ini tidak mempengaruhi pengecualian lain yang mungkin dilemparkan. Secara khusus, jika jenis ditemukan tetapi tidak dapat dimuat, TypeLoadException dapat dilemparkan bahkan jika throwOnError adalah false.

Catatan

Jika jenis telah diteruskan ke rakitan lain, jenis tersebut masih dikembalikan oleh metode ini. Untuk informasi tentang penerusan jenis, lihat Penerusan Jenis di Common Language Runtime.

Jenis dapat diambil dari modul tertentu menggunakan Module.GetType. Memanggil Module.GetType pada modul yang berisi manifes tidak akan mencari seluruh perakitan. Untuk mengambil jenis dari assembly, terlepas dari modul tempatnya berada, Anda harus memanggil Assembly.GetType.

Berlaku untuk