ModuleBuilder.GetType Метод
Определение
Получает именованный тип, определенный в модуле.Gets the named type defined in the module.
Перегрузки
GetType(String) |
Получает именованный тип, определенный в модуле.Gets the named type defined in the module. |
GetType(String, Boolean) |
Получает определенный в модуле именованный тип (с возможностью игнорирования регистра символов в имени типа).Gets the named type defined in the module, optionally ignoring the case of the type name. |
GetType(String, Boolean, Boolean) |
Получает определенный в модуле именованный тип (с возможностью игнорирования регистра символов в имени типа).Gets the named type defined in the module, optionally ignoring the case of the type name. Позволяет указать, следует ли создавать исключение, если тип не будет найден.Optionally throws an exception if the type is not found. |
GetType(String)
Получает именованный тип, определенный в модуле.Gets the named type defined in the module.
public:
override Type ^ GetType(System::String ^ className);
public override Type? GetType (string className);
public override Type GetType (string className);
[System.Runtime.InteropServices.ComVisible(true)]
public override Type GetType (string className);
override this.GetType : string -> Type
[<System.Runtime.InteropServices.ComVisible(true)>]
override this.GetType : string -> Type
Public Overrides Function GetType (className As String) As Type
Параметры
Возвращаемое значение
Запрошенный тип, если тип определен в данном модуле, в противном случае — значение null
.The requested type, if the type is defined in this module; otherwise, null
.
- Атрибуты
Исключения
Длина параметра className
равна нулю или больше 1023.Length of className
is zero or is greater than 1023.
className
имеет значение null
.className
is null
.
Запрошенный объект Type не является открытым и вызывающая сторона не имеет разрешения (ReflectionPermission) на отражение неоткрытых объектов за пределами текущей сборки.The requested Type is non-public and the caller does not have ReflectionPermission to reflect non-public objects outside the current assembly.
Инициализатор класса вызывается и создает исключение.A class initializer is invoked and throws an exception.
Комментарии
Не используйте этот метод для создания типов массивов, типов указателей или типов ByRef.Do not use this method to generate array types, pointer types, or byref types. TypeBuilder.MakeArrayType TypeBuilder.MakePointerType TypeBuilder.MakeByRefType Вместо этого используйте методы, и.Use the TypeBuilder.MakeArrayType, TypeBuilder.MakePointerType, and TypeBuilder.MakeByRefType methods instead.
Примечание
Начиная с .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1 , этот член больше не требует наличия ReflectionPermission ReflectionPermissionFlag.ReflectionEmit флага.Starting with the .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1, this member no longer requires ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit flag. (См. раздел вопросы безопасности в порождении отражения.) Чтобы использовать эту функцию, приложение должно быть предназначено для .NET Framework 3,5.NET Framework 3.5 или более поздней версии.(See Security Issues in Reflection Emit.) To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.
Применяется к
GetType(String, Boolean)
Получает определенный в модуле именованный тип (с возможностью игнорирования регистра символов в имени типа).Gets the named type defined in the module, optionally ignoring the case of the type name.
public:
override Type ^ GetType(System::String ^ className, bool ignoreCase);
public override Type? GetType (string className, bool ignoreCase);
public override Type GetType (string className, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public override Type GetType (string className, bool ignoreCase);
override this.GetType : string * bool -> Type
[<System.Runtime.InteropServices.ComVisible(true)>]
override this.GetType : string * bool -> Type
Public Overrides Function GetType (className As String, ignoreCase As Boolean) As Type
Параметры
- ignoreCase
- Boolean
Если значение true
, при поиске не учитывается регистр.If true
, the search is case-insensitive. Если значение false
, при поиске учитывается регистр.If false
, the search is case-sensitive.
Возвращаемое значение
Запрошенный тип, если тип определен в данном модуле, в противном случае — значение null
.The requested type, if the type is defined in this module; otherwise, null
.
- Атрибуты
Исключения
Длина параметра className
равна нулю или больше 1023.Length of className
is zero or is greater than 1023.
className
имеет значение null
.className
is null
.
Запрошенный объект Type не является открытым и вызывающая сторона не имеет разрешения (ReflectionPermission) на отражение неоткрытых объектов за пределами текущей сборки.The requested Type is non-public and the caller does not have ReflectionPermission to reflect non-public objects outside the current assembly.
Инициализатор класса вызывается и создает исключение.A class initializer is invoked and throws an exception.
Комментарии
Не используйте этот метод для создания типов массивов, типов указателей или типов ByRef.Do not use this method to generate array types, pointer types, or byref types. TypeBuilder.MakeArrayType TypeBuilder.MakePointerType TypeBuilder.MakeByRefType Вместо этого используйте методы, и.Use the TypeBuilder.MakeArrayType, TypeBuilder.MakePointerType, and TypeBuilder.MakeByRefType methods instead.
Примечание
Начиная с .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1 , этот член больше не требует наличия ReflectionPermission ReflectionPermissionFlag.ReflectionEmit флага.Starting with the .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1, this member no longer requires ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit flag. (См. раздел вопросы безопасности в порождении отражения.) Чтобы использовать эту функцию, приложение должно быть предназначено для .NET Framework 3,5.NET Framework 3.5 или более поздней версии.(See Security Issues in Reflection Emit.) To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.
Применяется к
GetType(String, Boolean, Boolean)
Получает определенный в модуле именованный тип (с возможностью игнорирования регистра символов в имени типа).Gets the named type defined in the module, optionally ignoring the case of the type name. Позволяет указать, следует ли создавать исключение, если тип не будет найден.Optionally throws an exception if the type is not found.
public:
override Type ^ GetType(System::String ^ className, bool throwOnError, bool ignoreCase);
public override Type? GetType (string className, bool throwOnError, bool ignoreCase);
public override Type GetType (string className, bool throwOnError, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public override 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 Overrides Function GetType (className As String, throwOnError As Boolean, ignoreCase As Boolean) As Type
Параметры
- throwOnError
- Boolean
Значение true
, чтобы создать исключение, если тип не удается найти; значение false
, чтобы вернуть значение null
.true
to throw an exception if the type cannot be found; false
to return null
.
- ignoreCase
- Boolean
Если значение true
, при поиске не учитывается регистр.If true
, the search is case-insensitive. Если значение false
, при поиске учитывается регистр.If false
, the search is case-sensitive.
Возвращаемое значение
Заданный тип, если тип объявлен в данном модуле, в противном случае — значение null
.The specified type, if the type is declared in this module; otherwise, null
.
- Атрибуты
Исключения
Длина параметра className
равна нулю или больше 1023.Length of className
is zero or is greater than 1023.
className
имеет значение null
.className
is null
.
Запрошенный объект Type не является открытым и вызывающая сторона не имеет разрешения (ReflectionPermission) на отражение неоткрытых объектов за пределами текущей сборки.The requested Type is non-public and the caller does not have ReflectionPermission to reflect non-public objects outside the current assembly.
Инициализатор класса вызывается и создает исключение.A class initializer is invoked and throws an exception.
Значение параметра throwOnError
равно true
, и указанный тип не был найден.throwOnError
is true
and the specified type is not found.
Комментарии
throwOnError
Параметр влияет только на то, что происходит, если тип не найден.The throwOnError
parameter only affects what happens when the type is not found. Он не влияет на другие исключения, которые могут возникать.It does not affect any other exceptions that might be thrown. В частности, если тип найден, но не может быть загружен, TypeLoadException может возникнуть исключение, даже если throwOnError
имеет значение false
.In particular, if the type is found but cannot be loaded, TypeLoadException can be thrown even if throwOnError
is false
.
Не используйте этот метод для создания типов массивов, типов указателей или типов ByRef.Do not use this method to generate array types, pointer types, or byref types. TypeBuilder.MakeArrayType TypeBuilder.MakePointerType TypeBuilder.MakeByRefType Вместо этого используйте методы, и.Use the TypeBuilder.MakeArrayType, TypeBuilder.MakePointerType, and TypeBuilder.MakeByRefType methods instead.
Примечание
Начиная с .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1 , этот член больше не требует наличия ReflectionPermission ReflectionPermissionFlag.ReflectionEmit флага.Starting with the .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1, this member no longer requires ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit flag. (См. раздел вопросы безопасности в порождении отражения.) Чтобы использовать эту функцию, приложение должно быть предназначено для .NET Framework 3,5.NET Framework 3.5 или более поздней версии.(See Security Issues in Reflection Emit.) To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.