TypeLoadException Constructors
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Initialiseert een nieuw exemplaar van de TypeLoadException klasse.
Overloads
| Name | Description |
|---|---|
| TypeLoadException() |
Initialiseert een nieuw exemplaar van de TypeLoadException klasse. |
| TypeLoadException(String) |
Initialiseert een nieuw exemplaar van de TypeLoadException klasse met een opgegeven foutbericht. |
| TypeLoadException(SerializationInfo, StreamingContext) |
Verouderd.
Initialiseert een nieuw exemplaar van de TypeLoadException klasse met geserialiseerde gegevens. |
| TypeLoadException(String, Exception) |
Initialiseert een nieuw exemplaar van de TypeLoadException klasse met een opgegeven foutbericht en een verwijzing naar de binnenste uitzondering die de oorzaak van deze uitzondering is. |
TypeLoadException()
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
Initialiseert een nieuw exemplaar van de TypeLoadException klasse.
public:
TypeLoadException();
public TypeLoadException();
Public Sub New ()
Opmerkingen
Met deze constructor wordt de Message eigenschap van het nieuwe exemplaar geïnitialiseerd naar een door het systeem opgegeven bericht dat de fout beschrijft, zoals 'Er is een fout opgetreden tijdens het laden van een type'. Dit bericht houdt rekening met de huidige systeemcultuur.
In de volgende tabel ziet u de oorspronkelijke eigenschapswaarden voor een exemplaar van TypeLoadException.
| Vastgoed | Waarde |
|---|---|
| InnerException | Een null-verwijzing (Nothing in Visual Basic). |
| Message | De gelokaliseerde foutberichttekenreeks. |
Van toepassing op
TypeLoadException(String)
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
Initialiseert een nieuw exemplaar van de TypeLoadException klasse met een opgegeven foutbericht.
public:
TypeLoadException(System::String ^ message);
public TypeLoadException(string message);
public TypeLoadException(string? message);
new TypeLoadException : string -> TypeLoadException
Public Sub New (message As String)
Parameters
- message
- String
Het bericht waarin de fout wordt beschreven.
Voorbeelden
In het volgende codevoorbeeld wordt de TypeLoadException(String) constructor gedemonstreerd. Het bevat een methode die een TypeLoadException met een aangepast bericht genereert en het foutbericht weergeeft aan de console.
using System;
public class Example
{
public static void Main()
{
try {
// Call a method that throws an exception.
TypeLoadExceptionDemoClass.GenerateException();
}
catch (TypeLoadException e) {
Console.WriteLine("TypeLoadException:\n {0}", e.Message);
}
}
}
class TypeLoadExceptionDemoClass
{
public static bool GenerateException()
{
// Throw a TypeLoadException with a custom defined message.
throw new TypeLoadException("This is a custom TypeLoadException error message.");
}
}
// The example displays the following output:
// TypeLoadException:
// This is a custom TypeLoadException error message.
Public Class Example
Public Shared Sub Main()
Try
' Call a method that throws an exception.
TypeLoadExceptionDemoClass.GenerateException()
Catch e As TypeLoadException
Console.WriteLine("TypeLoadException:{0} {1}", vbCrLf, e.Message)
End Try
End Sub
End Class
Class TypeLoadExceptionDemoClass
Public Shared Function GenerateException() As Boolean
' Throw a TypeLoadException with a custom message.
Throw New TypeLoadException("This is a custom TypeLoadException error message.")
End Function
End Class
' The example displays the following output:
' TypeLoadException:
' This is a custom TypeLoadException error message.
Opmerkingen
De inhoud van de message parameter moet begrijpelijk zijn voor de gebruiker. De aanroeper van deze constructor is vereist om ervoor te zorgen dat deze tekenreeks is gelokaliseerd voor de huidige systeemcultuur.
In de volgende tabel ziet u de oorspronkelijke eigenschapswaarden voor een exemplaar van TypeLoadException.
| Vastgoed | Waarde |
|---|---|
| InnerException | Een null-verwijzing (Nothing in Visual Basic). |
| Message | De tekenreeks van het foutbericht. |
Van toepassing op
TypeLoadException(SerializationInfo, StreamingContext)
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
Let op
This API supports obsolete formatter-based serialization. It should not be called or extended by application code.
Initialiseert een nieuw exemplaar van de TypeLoadException klasse met geserialiseerde gegevens.
protected:
TypeLoadException(System::Runtime::Serialization::SerializationInfo ^ info, System::Runtime::Serialization::StreamingContext context);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected TypeLoadException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
protected TypeLoadException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
[<System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
new TypeLoadException : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> TypeLoadException
new TypeLoadException : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> TypeLoadException
Protected Sub New (info As SerializationInfo, context As StreamingContext)
Parameters
- info
- SerializationInfo
Het object met de geserialiseerde objectgegevens.
- context
- StreamingContext
De contextuele informatie over de bron of bestemming.
- Kenmerken
Uitzonderingen
Het info object is null.
Voorbeelden
In het volgende voorbeeld wordt een uitzondering gegenereerd en worden de uitzonderingsgegevens naar een bestand geserialiseerd en wordt de uitzondering vervolgens opnieuw samengesteld. Als u dit codevoorbeeld wilt uitvoeren, moet u de volledig gekwalificeerde assemblynaam opgeven. Zie Assemblynamen voor informatie over het verkrijgen van de volledig gekwalificeerde assemblynaam.
using System;
using System.Reflection;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Soap;
using System.IO;
class GetObjectDataDemo
{
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 not present in the assembly 'mscorlib'");
// This loading of invalid type raises a TypeLoadException
Type myType = mscorlib.GetType("System.NonExistentType", true);
}
catch (TypeLoadException)
{
// Serialize the exception to disk and reconstitute it.
System.DateTime ErrorDatetime = DateTime.Now;
Console.WriteLine("A TypeLoadException has been raised.");
// Create MyTypeLoadException instance with current time.
MyTypeLoadException myException = new MyTypeLoadException(ErrorDatetime);
IFormatter myFormatter = new SoapFormatter();
Stream myFileStream = new FileStream("typeload.xml", FileMode.Create, FileAccess.Write, FileShare.None);
Console.WriteLine("Serializing the TypeLoadException with DateTime as " + ErrorDatetime);
// Serialize the MyTypeLoadException instance to a file.
myFormatter.Serialize(myFileStream, myException);
myFileStream.Close();
Console.WriteLine("Deserializing the Exception.");
myFileStream = new FileStream("typeload.xml", FileMode.Open, FileAccess.Read, FileShare.None);
// Deserialize and reconstitute the instance from file.
myException = (MyTypeLoadException) myFormatter.Deserialize(myFileStream);
myFileStream.Close();
Console.WriteLine("Deserialized exception has ErrorDateTime = " + myException.ErrorDateTime);
}
}
}
// This class overrides the GetObjectData method and initializes
// its data with current time.
[Serializable]
public class MyTypeLoadException : TypeLoadException
{
private System.DateTime _errorDateTime = DateTime.Now;
public DateTime ErrorDateTime { get { return _errorDateTime; }}
public MyTypeLoadException(DateTime myDateTime)
{
_errorDateTime = myDateTime;
}
protected MyTypeLoadException(SerializationInfo sInfo, StreamingContext sContext)
: base(sInfo, sContext)
{
// Reconstitute the deserialized information into the instance.
_errorDateTime = sInfo.GetDateTime("ErrorDate");
}
public override void GetObjectData(SerializationInfo sInfo, StreamingContext sContext)
{
base.GetObjectData(sInfo, sContext);
// Add a value to the Serialization information.
sInfo.AddValue("ErrorDate", ErrorDateTime);
}
}
Imports System.Reflection
Imports System.Runtime.Serialization
Imports System.Runtime.Serialization.Formatters.Soap
Imports System.Security.Permissions
Imports System.IO
Class GetObjectDataDemo
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 not present in the assembly 'mscorlib'")
' This loading of invalid type raises a TypeLoadException
Dim myType As Type = mscorlib.GetType("System.NonExistentType", True)
Catch
' Serialize the exception to disk and reconstitute it.
Dim ErrorDatetime as System.DateTime = DateTime.Now
Console.WriteLine("A TypeLoadException has been raised.")
' Create MyTypeLoadException instance with current time.
Dim myException As new MyTypeLoadException(ErrorDatetime)
Dim myFormatter as IFormatter = new SoapFormatter()
Dim myFileStream as Stream
myFileStream = New FileStream("typeload.xml", FileMode.Create, FileAccess.Write, FileShare.None)
Console.WriteLine("Serializing the TypeLoadException with DateTime as " _
& ErrorDatetime.ToString())
' Serialize the MyTypeLoadException instance to a file.
myFormatter.Serialize(myFileStream, myException)
myFileStream.Close()
Console.WriteLine("Deserializing the Exception.")
myFileStream = New FileStream("typeload.xml", FileMode.Open, FileAccess.Read, FileShare.None)
' Deserialize and reconstitute the instance from file.
myException = CType(myFormatter.Deserialize(myFileStream), MyTypeLoadException)
myFileStream.Close()
Console.WriteLine("Deserialized exception has ErrorDateTime = " + myException.ErrorDateTime.ToString())
End Try
End Sub
End Class
' This class overrides the GetObjectData method and initializes
' its data with current time.
<Serializable()> _
Public Class MyTypeLoadException
Inherits TypeLoadException
Private _errorDateTime As System.DateTime = DateTime.Now
Public ReadOnly Property ErrorDateTime As DateTime
Get
Return _errorDateTime
End Get
End Property
Public Sub New(myDateTime As DateTime)
_errorDateTime = myDateTime
End Sub
Protected Sub New(sInfo As SerializationInfo, sContext As StreamingContext)
MyBase.New(sInfo, sContext)
' Reconstitute the deserialized information into the instance.
_errorDateTime = sInfo.GetDateTime("ErrorDate")
End Sub
' GetObjectData overrides must always have a demand for SerializationFormatter.
<SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter:=true)> _
Public Overrides Sub GetObjectData(sInfo As SerializationInfo, sContext As StreamingContext)
MyBase.GetObjectData(sInfo, sContext)
' Add a value to the Serialization information.
sInfo.AddValue("ErrorDate", ErrorDateTime)
End Sub
End Class
Opmerkingen
Deze constructor wordt aangeroepen tijdens deserialisatie om het uitzonderingsobject te reconstitueren dat via een stroom wordt verzonden. Zie XML- en SOAP-serialisatie voor meer informatie.
Zie ook
Van toepassing op
TypeLoadException(String, Exception)
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
- Bron:
- TypeLoadException.cs
Initialiseert een nieuw exemplaar van de TypeLoadException klasse met een opgegeven foutbericht en een verwijzing naar de binnenste uitzondering die de oorzaak van deze uitzondering is.
public:
TypeLoadException(System::String ^ message, Exception ^ inner);
public TypeLoadException(string message, Exception inner);
public TypeLoadException(string? message, Exception? inner);
new TypeLoadException : string * Exception -> TypeLoadException
Public Sub New (message As String, inner As Exception)
Parameters
- message
- String
In het foutbericht wordt de reden voor de uitzondering uitgelegd.
- inner
- Exception
De uitzondering die de oorzaak is van de huidige uitzondering. Als de inner parameter niet nullis, wordt de huidige uitzondering gegenereerd in een catch blok dat de binnenste uitzondering afhandelt.
Voorbeelden
In het volgende codevoorbeeld wordt de TypeLoadException(String, Exception) constructor gedemonstreerd. Het bevat een methode die een TypeLoadExceptionuitzondering genereert, die uitzondering onderschept en een nieuw TypeLoadException bericht genereert met een aangepast bericht, inclusief het origineel TypeLoadException als de interne uitzondering.
using System;
using System.Runtime.InteropServices;
public class TypeLoadException_Constructor3
{
public static void Main()
{
Console.WriteLine("Calling a method in a non-existent DLL which triggers a TypeLoadException.");
try
{
TypeLoadExceptionDemoClass3.GenerateException();
}
catch (TypeLoadException e)
{
Console.WriteLine ("TypeLoadException: \n\tError Message = " + e.Message);
Console.WriteLine ("TypeLoadException: \n\tInnerException Message = " + e.InnerException.Message );
}
catch (Exception e)
{
Console.WriteLine ("Exception: \n\tError Message = " + e.Message);
}
}
}
class TypeLoadExceptionDemoClass3
{
// A call to this method will raise a TypeLoadException.
[DllImport("NonExistentDLL.DLL", EntryPoint="MethodNotExists")]
public static extern void NonExistentMethod();
public static void GenerateException()
{
try
{
NonExistentMethod();
}
catch (TypeLoadException e)
{
// Rethrow exception with the exception as inner exception
throw new TypeLoadException("This exception was raised due to a call to an invalid method.", e);
}
}
}
Imports System.Runtime.InteropServices
Public Class TypeLoadException_Constructor3
Public Shared Sub Main()
Console.WriteLine("Calling a method in a non-existent DLL which triggers a TypeLoadException.")
Try
TypeLoadExceptionDemoClass.GenerateException()
Catch e As TypeLoadException
Console.WriteLine(("TypeLoadException: " + ControlChars.Cr + ControlChars.Tab + "Error Message = " + e.Message))
Console.WriteLine(("TypeLoadException: " + ControlChars.Cr + ControlChars.Tab + "InnerException Message = " + e.InnerException.Message))
Catch e As Exception
Console.WriteLine(("Exception: " + ControlChars.Cr + ControlChars.Tab + "Error Message = " + e.Message))
End Try
End Sub
End Class
Class TypeLoadExceptionDemoClass
' A call to this method will raise a TypeLoadException.
Public Declare Sub NonExistentMethod Lib "NonExistentDLL.DLL" Alias "MethodNotExists" ()
Public Shared Sub GenerateException()
Try
NonExistentMethod()
Catch e As TypeLoadException
' Rethrow exception with the exception as inner exception
Throw New TypeLoadException("This exception was raised due to a call to an invalid method.", e)
End Try
End Sub
End Class
Opmerkingen
Een uitzondering die wordt gegenereerd als direct resultaat van een eerdere uitzondering, kan een verwijzing naar de vorige uitzondering in de InnerException eigenschap bevatten. De InnerException eigenschap retourneert dezelfde waarde die wordt doorgegeven aan de constructor of null als de InnerException eigenschap de binnenste uitzonderingswaarde niet aan de constructor levert.
In de volgende tabel ziet u de oorspronkelijke eigenschapswaarden voor een exemplaar van TypeLoadException.
| Vastgoed | Waarde |
|---|---|
| InnerException | De interne uitzonderingsreferentie. |
| Message | De tekenreeks van het foutbericht. |