AmbiguousMatchException Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der AmbiguousMatchException-Klasse.
Überlädt
| Name | Beschreibung |
|---|---|
| AmbiguousMatchException() |
Initialisiert eine neue Instanz der AmbiguousMatchException Klasse mit einer leeren Nachrichtenzeichenfolge und der Ausnahme für die Stammursache auf |
| AmbiguousMatchException(String) |
Initialisiert eine neue Instanz der AmbiguousMatchException Klasse mit der zugehörigen Nachrichtenzeichenfolge, die auf die angegebene Nachricht festgelegt ist, und die Ursache ausnahme auf |
| AmbiguousMatchException(String, Exception) |
Initialisiert eine neue Instanz der AmbiguousMatchException Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die die Ursache dieser Ausnahme ist. |
AmbiguousMatchException()
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
Initialisiert eine neue Instanz der AmbiguousMatchException Klasse mit einer leeren Nachrichtenzeichenfolge und der Ausnahme für die Stammursache auf null.
public:
AmbiguousMatchException();
public AmbiguousMatchException();
Public Sub New ()
Hinweise
AmbiguousMatchException erbt von Exception. Dieser Konstruktor legt die Eigenschaften des Exception Objekts fest, wie in der folgenden Tabelle dargestellt.
| Eigentum | Wert |
|---|---|
| InnerException | null |
| Message | Die leere Zeichenfolge (""). |
Weitere Informationen
Gilt für:
AmbiguousMatchException(String)
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
Initialisiert eine neue Instanz der AmbiguousMatchException Klasse mit der zugehörigen Nachrichtenzeichenfolge, die auf die angegebene Nachricht festgelegt ist, und die Ursache ausnahme auf null.
public:
AmbiguousMatchException(System::String ^ message);
public AmbiguousMatchException(string message);
public AmbiguousMatchException(string? message);
new System.Reflection.AmbiguousMatchException : string -> System.Reflection.AmbiguousMatchException
Public Sub New (message As String)
Parameter
- message
- String
Eine Zeichenfolge, die angibt, warum diese Ausnahme ausgelöst wurde.
Hinweise
AmbiguousMatchException erbt von Exception. Dieser Konstruktor legt die Eigenschaften des Exception Objekts fest, wie in der folgenden Tabelle dargestellt.
| Eigentum | Wert |
|---|---|
| InnerException | null |
| Message | Die message Zeichenfolge. |
Gilt für:
AmbiguousMatchException(String, Exception)
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
- Quelle:
- AmbiguousMatchException.cs
Initialisiert eine neue Instanz der AmbiguousMatchException Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die die Ursache dieser Ausnahme ist.
public:
AmbiguousMatchException(System::String ^ message, Exception ^ inner);
public AmbiguousMatchException(string message, Exception inner);
public AmbiguousMatchException(string? message, Exception? inner);
new System.Reflection.AmbiguousMatchException : string * Exception -> System.Reflection.AmbiguousMatchException
Public Sub New (message As String, inner As Exception)
Parameter
- message
- String
Die Fehlermeldung, die den Grund für die Ausnahme erklärt.
- inner
- Exception
Die Ausnahme, die die Ursache der aktuellen Ausnahme ist. Wenn der inner Parameter nicht nullangegeben ist, wird die aktuelle Ausnahme in einem catch Block ausgelöst, der die innere Ausnahme behandelt.
Beispiele
Das folgende Beispiel zeigt zwei Methoden, die jeweils benannt sind Mymethod. Eine Methode verwendet eine ganze Zahl, und die andere akzeptiert eine Zeichenfolge. Wenn eine ganze Zahl übergeben Mymethodwird, wird die erste Methode verwendet. Wenn eine Zeichenfolge übergeben wird, wird die zweite Methode verwendet. Wenn sie nicht bestimmt werden kann, welcher Mymethod Wert verwendet werden soll, AmbiguousMatchException wird ausgelöst.
using System;
using System.Reflection;
namespace Ambiguity
{
class Myambiguous
{
//The first overload is typed to an int
public static void Mymethod(int number)
{
Console.WriteLine("I am from 'int' method");
}
//The second overload is typed to a string
public static void Mymethod(string alpha)
{
Console.WriteLine("I am from 'string' method.");
}
public static void Main()
{
try
{
//The following does not cause as exception
Mymethod(2); // goes to Mymethod(int)
Mymethod("3"); // goes to Mymethod(string)
Type Mytype = Type.GetType("Ambiguity.Myambiguous");
MethodInfo Mymethodinfo32 = Mytype.GetMethod("Mymethod", new Type[]{typeof(int)});
MethodInfo Mymethodinfostr = Mytype.GetMethod("Mymethod", new Type[]{typeof(System.String)});
//Invoke a method, utilizing a int integer
Mymethodinfo32.Invoke(null, new Object[]{2});
//Invoke the method utilizing a string
Mymethodinfostr.Invoke(null, new Object[]{"1"});
//The following line causes an ambiguious exception
MethodInfo Mymethodinfo = Mytype.GetMethod("Mymethod");
} // end of try block
catch (AmbiguousMatchException ex)
{
Console.WriteLine("\n{0}\n{1}", ex.GetType().FullName, ex.Message);
}
catch
{
Console.WriteLine("\nSome other exception.");
}
return;
}
}
}
//This code produces the following output:
//
// I am from 'int' method
// I am from 'string' method.
// I am from 'int' method
// I am from 'string' method.
// System.Reflection.AmbiguousMatchException
// Ambiguous match found.
Imports System.Reflection
Namespace Ambiguity
Class Myambiguous
'The first overload is typed to an Int32
Overloads Public Shared Sub Mymethod(number As Int32)
Console.WriteLine("I am from 'Int32' method")
End Sub
'The second overload is typed to a string
Overloads Public Shared Sub Mymethod(alpha As String)
Console.WriteLine("I am from 'string' method.")
End Sub
Public Shared Sub Main()
Try
'The following does not cause as exception
Mymethod(2) ' goes to Mymethod Int32)
Mymethod("3") ' goes to Mymethod(string)
Dim Mytype As Type = Type.GetType("Ambiguity.Myambiguous")
Dim Mymethodinfo32 As MethodInfo = Mytype.GetMethod("Mymethod", New Type() {GetType(Int32)})
Dim Mymethodinfostr As MethodInfo = Mytype.GetMethod("Mymethod", New Type() {GetType(System.String)})
'Invoke a method, utilizing a Int32 integer
Mymethodinfo32.Invoke(Nothing, New Object() {2})
'Invoke the method utilizing a string
Mymethodinfostr.Invoke(Nothing, New Object() {"1"})
'The following line causes an ambiguious exception
Dim Mymethodinfo As MethodInfo = Mytype.GetMethod("Mymethod")
' end of try block
Catch ex As AmbiguousMatchException
Console.WriteLine(Environment.NewLine + "{0}" + Environment.NewLine + "{1}", ex.GetType().FullName, ex.Message)
Catch
Console.WriteLine(Environment.NewLine + "Some other exception.")
End Try
Return
End Sub
End Class
End Namespace
' This code produces the following output:
'
' I am from 'Int32' method
' I am from 'string' method.
' I am from 'Int32' method
' I am from 'string' method.
'
' System.Reflection.AmbiguousMatchException
' Ambiguous match found.
Hinweise
Eine Ausnahme, die als direktes Ergebnis einer vorherigen Ausnahme ausgelöst wird, sollte einen Verweis auf die vorherige Ausnahme in der InnerException Eigenschaft enthalten. Die InnerException Eigenschaft gibt denselben Wert zurück, der an den Konstruktor übergeben wird, oder null wenn die InnerException Eigenschaft den inneren Ausnahmewert nicht für den Konstruktor angibt.
In der folgenden Tabelle sind die anfänglichen Eigenschaftswerte für eine Instanz von AmbiguousMatchException.
| Eigentum | Wert |
|---|---|
| InnerException | Der interne Ausnahmeverweis. |
| Message | Die Fehlermeldungszeichenfolge. |