AmbiguousMatchException Oluşturucular
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
AmbiguousMatchException sınıfının yeni bir örneğini başlatır.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| AmbiguousMatchException() |
Boş bir ileti dizesi ve kök neden özel durumu olarak ayarlanmış şekilde sınıfının yeni bir örneğini AmbiguousMatchException |
| AmbiguousMatchException(String) |
sınıfın AmbiguousMatchException yeni bir örneğini, ileti dizesi verilen iletiye ve kök neden özel durumu olarak ayarlanmış olarak |
| AmbiguousMatchException(String, Exception) |
Sınıfın AmbiguousMatchException yeni bir örneğini belirtilen bir hata iletisiyle ve bu özel durumun nedeni olan iç özel duruma başvuruyla başlatır. |
AmbiguousMatchException()
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
Boş bir ileti dizesi ve kök neden özel durumu olarak ayarlanmış şekilde sınıfının yeni bir örneğini AmbiguousMatchExceptionnullbaşlatır.
public:
AmbiguousMatchException();
public AmbiguousMatchException();
Public Sub New ()
Açıklamalar
AmbiguousMatchException öğesinden Exceptiondevralır. Bu oluşturucu, aşağıdaki tabloda gösterildiği gibi nesnenin Exception özelliklerini ayarlar.
| Mülkiyet | Değer |
|---|---|
| InnerException | null |
| Message | Boş dize (""). |
Ayrıca bkz.
Şunlara uygulanır
AmbiguousMatchException(String)
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
sınıfın AmbiguousMatchException yeni bir örneğini, ileti dizesi verilen iletiye ve kök neden özel durumu olarak ayarlanmış olarak nullbaşlatır.
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)
Parametreler
- message
- String
Bu özel durumun neden oluşturulduğunu gösteren bir dize.
Açıklamalar
AmbiguousMatchException öğesinden Exceptiondevralır. Bu oluşturucu, aşağıdaki tabloda gösterildiği gibi nesnenin Exception özelliklerini ayarlar.
| Mülkiyet | Değer |
|---|---|
| InnerException | null |
| Message | Dize message . |
Şunlara uygulanır
AmbiguousMatchException(String, Exception)
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
Sınıfın AmbiguousMatchException yeni bir örneğini belirtilen bir hata iletisiyle ve bu özel durumun nedeni olan iç özel duruma başvuruyla başlatır.
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)
Parametreler
- message
- String
Özel durumun nedenini açıklayan hata iletisi.
- inner
- Exception
Geçerli özel durumun nedeni olan özel durum.
inner parametresi değilsenull, geçerli özel durum, iç özel durumu işleyen bir catch blokta oluşturulur.
Örnekler
Aşağıdaki örnekte, her birinde adlı Mymethodiki yöntem gösterilmektedir. Yöntemlerden biri tamsayı, diğeri bir dize alır. 'a Mymethodbir tamsayı geçirilirse, ilk yöntem kullanılır. Bir dize geçirilirse, ikinci yöntem kullanılır. Hangisinin Mymethod kullanılacağı belirlenemezse, AmbiguousMatchException oluşturulur.
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.
Açıklamalar
Önceki bir özel durumun doğrudan sonucu olarak oluşan bir özel durum, özelliğindeki önceki özel duruma başvuru içermelidir InnerException .
InnerException özelliği oluşturucuya geçirilen aynı değeri döndürür veya null özelliği oluşturucuya iç özel durum değeri sağlamaz.InnerException
Aşağıdaki tabloda, örneğinin ilk özellik değerleri gösterilmektedir AmbiguousMatchException.
| Mülkiyet | Değer |
|---|---|
| InnerException | İç özel durum başvurusu. |
| Message | Hata iletisi dizesi. |