AmbiguousMatchException Constructores
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicializa una nueva instancia de la clase AmbiguousMatchException.
Sobrecargas
| Nombre | Description |
|---|---|
| AmbiguousMatchException() |
Inicializa una nueva instancia de la AmbiguousMatchException clase con una cadena de mensaje vacía y la excepción de causa principal establecida |
| AmbiguousMatchException(String) |
Inicializa una nueva instancia de la AmbiguousMatchException clase con su cadena de mensaje establecida en el mensaje especificado y la excepción de causa principal establecida en |
| AmbiguousMatchException(String, Exception) |
Inicializa una nueva instancia de la AmbiguousMatchException clase con un mensaje de error especificado y una referencia a la excepción interna que es la causa de esta excepción. |
AmbiguousMatchException()
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
Inicializa una nueva instancia de la AmbiguousMatchException clase con una cadena de mensaje vacía y la excepción de causa principal establecida nullen .
public:
AmbiguousMatchException();
public AmbiguousMatchException();
Public Sub New ()
Comentarios
AmbiguousMatchException hereda de Exception. Este constructor establece las propiedades del Exception objeto como se muestra en la tabla siguiente.
| Propiedad | Importancia |
|---|---|
| InnerException | null |
| Message | Cadena vacía (""). |
Consulte también
Se aplica a
AmbiguousMatchException(String)
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
Inicializa una nueva instancia de la AmbiguousMatchException clase con su cadena de mensaje establecida en el mensaje especificado y la excepción de causa principal establecida en 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)
Parámetros
- message
- String
Cadena que indica el motivo por el que se produjo esta excepción.
Comentarios
AmbiguousMatchException hereda de Exception. Este constructor establece las propiedades del Exception objeto como se muestra en la tabla siguiente.
| Propiedad | Importancia |
|---|---|
| InnerException | null |
| Message | Cadena message . |
Se aplica a
AmbiguousMatchException(String, Exception)
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
- Source:
- AmbiguousMatchException.cs
Inicializa una nueva instancia de la AmbiguousMatchException clase con un mensaje de error especificado y una referencia a la excepción interna que es la causa de esta excepción.
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)
Parámetros
- message
- String
Mensaje de error que explica el motivo de la excepción.
- inner
- Exception
Excepción que es la causa de la excepción actual. Si el inner parámetro no nulles , la excepción actual se genera en un catch bloque que controla la excepción interna.
Ejemplos
En el ejemplo siguiente se muestran dos métodos, cada uno denominado Mymethod. Un método toma un entero y el otro toma una cadena. Si se pasa un entero a Mymethod, se usa el primer método. Si se pasa una cadena, se usa el segundo método. Si no se puede determinar qué Mymethod usar, AmbiguousMatchException se produce .
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.
Comentarios
Una excepción que se produce como resultado directo de una excepción anterior debe incluir una referencia a la excepción anterior en la InnerException propiedad . La InnerException propiedad devuelve el mismo valor que se pasa al constructor o null si la InnerException propiedad no proporciona el valor de excepción interno al constructor.
En la tabla siguiente se muestran los valores de propiedad iniciales de una instancia de AmbiguousMatchException.
| Propiedad | Importancia |
|---|---|
| InnerException | Referencia de excepción interna. |
| Message | Cadena del mensaje de error. |