TypeLoadException.TypeName Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает полное имя типа, вызвавшего исключение.
public:
property System::String ^ TypeName { System::String ^ get(); };
public string TypeName { get; }
member this.TypeName : string
Public ReadOnly Property TypeName As String
Значение свойства
Полное имя типа.
Примеры
В следующем примере предпринимается попытка загрузить несуществующий тип из сборки mscorlib. Полученное исключение перехватится, и TypeName отображаются значения Message . Для выполнения этого примера кода необходимо указать полное имя сборки. Сведения о том, как получить полное имя сборки, см. в разделе "Имена сборок".
// Load the mscorlib assembly and get a reference to it.
// You must supply the fully qualified assembly name for mscorlib.dll here.
Assembly^ myAssembly = Assembly::Load( "Assembly text name, Version, Culture, PublicKeyToken" );
try
{
Console::WriteLine( "This program throws an exception upon successful run." );
// Attempt to load a non-existent type from an assembly.
Type^ myType = myAssembly->GetType( "System.NonExistentType", true );
}
catch ( TypeLoadException^ e )
{
// Display the name of the Type that was not found.
Console::WriteLine( "TypeLoadException: \n\tError loading the type '{0}' from the assembly 'mscorlib'", e->TypeName );
Console::WriteLine( "\tError Message = {0}", e->Message );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception: Error Message = {0}", e->Message );
}
using System;
using System.Reflection;
public class TypeLoadException_TypeName
{
public static void Main()
{
// Get a reference to the assembly mscorlib.dll, which is always
// loaded. (System.String is defined in mscorlib.)
Assembly mscorlib = typeof(string).Assembly;
try
{
Console.WriteLine("Attempting to load a type that does not exist in mscorlib.");
// The boolean parameter causes an exception to be thrown if the
// type is not found.
Type myType = mscorlib.GetType("System.NonExistentType", true);
}
catch (TypeLoadException ex)
{
// Display the name of the type that was not found, and the
// exception message.
Console.WriteLine("TypeLoadException was caught. Type = '{0}'.",
ex.TypeName);
Console.WriteLine("Error Message = '{0}'", ex.Message);
}
}
}
/*
This code example produces output similar to the following:
Attempting to load a type that does not exist in mscorlib.
TypeLoadException was caught. Type = 'System.NonExistentType'
Error Message = 'Could not load type System.NonExistentType from assembly mscorl
ib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.'
*/
Imports System.Reflection
Public Class Example
Public Shared Sub Main()
' Get a reference to the assembly mscorlib.dll, which is always
' loaded. (System.String is defined in mscorlib.)
Dim tString As Type = GetType(String)
Dim mscorlib As [Assembly] = tString.Assembly
Try
Console.WriteLine("Attempting to load a type that does not exist in mscorlib.")
' The boolean parameter causes an exception to be thrown if the
' type is not found.
Dim myType As Type = mscorlib.GetType("System.NonExistentType", True)
Catch ex As TypeLoadException
' Display the name of the type that was not found, and the
' exception message.
Console.WriteLine("TypeLoadException was caught. Type = '{0}'.", _
ex.TypeName)
Console.WriteLine("Error Message = '{0}'", ex.Message)
End Try
End Sub
End Class
'
' This example produces output similar to the following:
'
'Attempting to load a type that does not exist in mscorlib.
'TypeLoadException was caught. Type = 'System.NonExistentType'
'Error Message = 'Could not load type System.NonExistentType from assembly mscorl
'ib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.'
Примечания для тех, кто наследует этот метод
При переопределении TypeName в производном классе обязательно вызовите свойство базового класса TypeName .
Это свойство доступно только для чтения.