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
AmbiguousMatchException() |
Boş bir ileti dizesiyle sınıfının yeni bir örneğini AmbiguousMatchException başlatır ve kök neden özel durumu olarak |
AmbiguousMatchException(String) |
İleti dizesi verilen iletiye AmbiguousMatchException ve kök neden özel durumu olarak ayarlanmış şekilde sınıfının yeni bir örneğini |
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
Boş bir ileti dizesiyle sınıfının yeni bir örneğini AmbiguousMatchException başlatır ve kök neden özel durumu olarak null
ayarlanır.
public:
AmbiguousMatchException();
public AmbiguousMatchException ();
Public Sub New ()
Açıklamalar
AmbiguousMatchException
' den Exceptiondevralır. Bu oluşturucu, aşağıdaki tabloda gösterildiği gibi nesnenin Exception
özelliklerini ayarlar.
Özellik | Değer |
---|---|
InnerException | null |
Message | Boş dize (""). |
Ayrıca bkz.
Şunlara uygulanır
AmbiguousMatchException(String)
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
- Kaynak:
- AmbiguousMatchException.cs
İleti dizesi verilen iletiye AmbiguousMatchException ve kök neden özel durumu olarak ayarlanmış şekilde sınıfının yeni bir örneğini null
baş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
' den Exceptiondevralır. Bu oluşturucu, aşağıdaki tabloda gösterildiği gibi nesnenin Exception
özelliklerini ayarlar.
Özellik | Değer |
---|---|
InnerException | null |
Message | Dize message . |
Şunlara uygulanır
AmbiguousMatchException(String, Exception)
- 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ı Mymethod
iki yöntem gösterilmektedir. Yöntemlerden biri tamsayı, diğeri ise bir dize alır. öğesine bir tamsayı geçirilirse Mymethod
, 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 namespace System;
using namespace System::Reflection;
namespace Ambiguity
{
ref class Myambiguous
{
public:
//The first overload is typed to an Int32
static void Mymethod(Int32 number)
{
Console::WriteLine("I am from 'Int32' method");
}
//The second overload is typed to a String^
static void Mymethod(String^ alpha)
{
Console::WriteLine("I am from 'String^' method.");
}
static void Main()
{
try
{
//The following does not cause as exception
Mymethod(2); // goes to Mymethod (Int32)
Mymethod("3"); // goes to Mymethod (String*)
Type^ Mytype = Type::GetType("Ambiguity.Myambiguous");
array<Type^>^temp0 = {Int32::typeid};
MethodInfo^ Mymethodinfo32 = Mytype->GetMethod("Mymethod", temp0);
array<Type^>^temp1 = {System::String::typeid};
MethodInfo^ Mymethodinfostr = Mytype->GetMethod("Mymethod", temp1);
//Invoke a method, utilizing a Int32 integer
array<Object^>^temp2 = {2};
Mymethodinfo32->Invoke(nullptr, temp2);
//Invoke the method utilizing a String^
array<Object^>^temp3 = {"1"};
Mymethodinfostr->Invoke(nullptr, temp3);
//The following line causes an ambiguous exception
MethodInfo^ Mymethodinfo = Mytype->GetMethod("Mymethod");
}
catch (AmbiguousMatchException^ ex)
{
Console::WriteLine("\n{0}\n{1}", ex->GetType()->FullName, ex->Message);
}
catch (...)
{
Console::WriteLine("\nSome other exception.");
}
return;
}
};
}
int main()
{
Ambiguity::Myambiguous::Main();
}
//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.
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
Bir önceki özel durumun doğrudan bir sonucu olarak oluşturulan bir özel durum, InnerException özelliğindeki önceki özel duruma başvuru içermelidir.
InnerException özelliği, oluşturucuya iletilen aynı değeri ya da InnerException özelliği oluşturucuya iç özel durum değeri sağlamıyorsa null
değerini döndürür.
Aşağıdaki tablo, AmbiguousMatchException öğesinin bir örneği için başlangıç özellik değerlerini gösterir.
Özellik | Değer |
---|---|
InnerException | İç özel duruma başvuru. |
Message | Hata iletisi dizesi. |