ArrayTypeMismatchException Sınıf
Tanım
Bir dizi içinde yanlış türde bir öğe depolamak için bir girişim yapıldığında oluşan özel durum.The exception that is thrown when an attempt is made to store an element of the wrong type within an array.
public ref class ArrayTypeMismatchException : Exception
public ref class ArrayTypeMismatchException : SystemException
public class ArrayTypeMismatchException : Exception
public class ArrayTypeMismatchException : SystemException
[System.Serializable]
public class ArrayTypeMismatchException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ArrayTypeMismatchException : SystemException
type ArrayTypeMismatchException = class
inherit Exception
type ArrayTypeMismatchException = class
inherit SystemException
[<System.Serializable>]
type ArrayTypeMismatchException = class
inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ArrayTypeMismatchException = class
inherit SystemException
Public Class ArrayTypeMismatchException
Inherits Exception
Public Class ArrayTypeMismatchException
Inherits SystemException
- Devralma
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, oluşan senaryoları gösterir ArrayTypeMismatchException .The following code example demonstrates scenarios where ArrayTypeMismatchException is thrown.
using namespace System;
int main()
{
array<String^>^names = { "Dog", "Cat", "Fish"};
array<Object^>^objs = dynamic_cast<array<Object^>^>(names);
try
{
objs[ 2 ] = (Object^)"Mouse";
for ( Int32 i = 0; i < objs->Length; i++ )
{
Console::WriteLine( objs[ i ] );
}
}
catch ( System::ArrayTypeMismatchException^ )
{
// Not reached, "Mouse" is of the correct type
Console::WriteLine( "Exception Thrown" );
}
try
{
Object^ obj = 13;
objs[ 2 ] = obj;
}
catch ( System::ArrayTypeMismatchException^ )
{
// Always reached, 13 is not a string.
Console::WriteLine( "New element is not of the correct type" );
}
// Set obj to an array of objects instead of an array of strings
array<Object^>^objs2 = gcnew array<Object^>(3);
try
{
objs2[ 0 ] = (Object^)"Turtle";
objs2[ 1 ] = 12;
objs2[ 2 ] = 2.341;
for ( Int32 i = 0; i < objs->Length; i++ )
{
Console::WriteLine( objs2[ i ] );
}
}
catch ( System::ArrayTypeMismatchException^ )
{
// ArrayTypeMismatchException is not thrown this time.
Console::WriteLine( "Exception Thrown" );
}
}
/*expected return values:
Dog
Cat
Mouse
New element is not of the correct type
Turtle
12
2.341
*/
using System;
namespace ArrayTypeMismatch
{
class Class1
{
static void Main(string[] args)
{
string[] names = {"Dog", "Cat", "Fish"};
Object[] objs = (Object[]) names;
try
{
objs[2] = "Mouse";
foreach (object animalName in objs)
{
System.Console.WriteLine(animalName);
}
}
catch (System.ArrayTypeMismatchException)
{
// Not reached; "Mouse" is of the correct type.
System.Console.WriteLine("Exception Thrown.");
}
try
{
Object obj = (Object) 13;
objs[2] = obj;
}
catch (System.ArrayTypeMismatchException)
{
// Always reached, 13 is not a string.
System.Console.WriteLine(
"New element is not of the correct type.");
}
// Set objs to an array of objects instead of
// an array of strings.
objs = new Object[3];
try
{
objs[0] = (Object) "Turtle";
objs[1] = (Object) 12;
objs[2] = (Object) 2.341;
foreach (object element in objs)
{
System.Console.WriteLine(element);
}
}
catch (System.ArrayTypeMismatchException)
{
// ArrayTypeMismatchException is not thrown this time.
System.Console.WriteLine("Exception Thrown.");
}
}
}
}
Option Explicit On
Option Strict On
Namespace ArrayTypeMismatch
Class Class1
Public Shared Sub Main(ByVal args() As String)
Dim names As String() = {"Dog", "Cat", "Fish"}
Dim objs As System.Object() = CType(names, System.Object())
Try
objs(2) = "Mouse"
Dim animalName As Object
For Each animalName In objs
System.Console.WriteLine(animalName)
Next animalName
Catch exp As System.ArrayTypeMismatchException
' Not reached, "Mouse" is of the correct type.
System.Console.WriteLine("Exception Thrown.")
End Try
Try
Dim obj As System.Object
obj = CType(13, System.Object)
objs(2) = obj
Catch exp As System.ArrayTypeMismatchException
' Always reached, 13 is not a string.
System.Console.WriteLine("New element is not of the correct type.")
End Try
' Set objs to an array of objects instead of an array of strings.
Dim objs2(3) As System.Object
Try
objs2(0) = "Turtle"
objs2(1) = 12
objs2(2) = 2.341
Dim element As Object
For Each element In objs2
System.Console.WriteLine(element)
Next element
Catch exp As System.ArrayTypeMismatchException
' ArrayTypeMismatchException is not thrown this time.
System.Console.WriteLine("Exception Thrown.")
End Try
End Sub
End Class
End Namespace
Açıklamalar
ArrayTypeMismatchException Sistem öğeyi dizi için belirtilen türe dönüştüremediği zaman oluşturulur.ArrayTypeMismatchException is thrown when the system cannot convert the element to the type declared for the array. Örneğin, String Int32 Bu türler arasında dönüştürme desteklenmediğinden, türünde bir öğe bir dizide depolanamaz.For example, an element of type String cannot be stored in an Int32 array because conversion between these types is not supported. Uygulamaların bu özel durumu oluşturması genellikle gereksizdir.It is generally unnecessary for applications to throw this exception.
Aşağıdaki Microsoft ara dil (MSIL) yönergeleri şunu oluşturur ArrayTypeMismatchException :The following Microsoft intermediate language (MSIL) instructions throw ArrayTypeMismatchException :
ldelek.<type>ldelem.<type>
ldelemaldelema
stelem.<type>stelem.<type>
ArrayTypeMismatchException 0x80131503 değerine sahip HRESULT COR_E_ARRAYTYPEMISMATCH kullanır.ArrayTypeMismatchException uses the HRESULT COR_E_ARRAYTYPEMISMATCH, which has the value 0x80131503.
Bir örneğinin ilk özellik değerlerinin listesi için ArrayTypeMismatchException , ArrayTypeMismatchException oluşturuculara bakın.For a list of initial property values for an instance of ArrayTypeMismatchException, see the ArrayTypeMismatchException constructors.
Oluşturucular
ArrayTypeMismatchException() |
ArrayTypeMismatchException sınıfının yeni bir örneğini başlatır.Initializes a new instance of the ArrayTypeMismatchException class. |
ArrayTypeMismatchException(SerializationInfo, StreamingContext) |
ArrayTypeMismatchException sınıfının yeni bir örneğini serileştirilmiş verilerle başlatır.Initializes a new instance of the ArrayTypeMismatchException class with serialized data. |
ArrayTypeMismatchException(String) |
Belirtilen bir hata iletisiyle sınıfın yeni bir örneğini başlatır ArrayTypeMismatchException .Initializes a new instance of the ArrayTypeMismatchException class with a specified error message. |
ArrayTypeMismatchException(String, Exception) |
ArrayTypeMismatchExceptionBelirtilen bir hata iletisiyle sınıfın yeni bir örneğini ve bu özel durumun nedeni olan iç özel duruma bir başvuruyu başlatır.Initializes a new instance of the ArrayTypeMismatchException class with a specified error message and a reference to the inner exception that is the cause of this exception. |
Özellikler
Data |
Özel durum hakkında ek kullanıcı tanımlı bilgiler sağlayan anahtar/değer çiftleri koleksiyonunu alır.Gets a collection of key/value pairs that provide additional user-defined information about the exception. (Devralındığı yer: Exception) |
HelpLink |
Bu özel durumla ilişkili Yardım dosyasının bağlantısını alır veya ayarlar.Gets or sets a link to the help file associated with this exception. (Devralındığı yer: Exception) |
HResult |
Belirli bir özel duruma atanan kodlanmış bir sayısal değer olan HRESULT 'yi alır veya ayarlar.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception. (Devralındığı yer: Exception) |
InnerException |
ExceptionGeçerli özel duruma neden olan örneği alır.Gets the Exception instance that caused the current exception. (Devralındığı yer: Exception) |
Message |
Geçerli özel durumu açıklayan bir ileti alır.Gets a message that describes the current exception. (Devralındığı yer: Exception) |
Source |
Uygulamanın veya hataya neden olan nesnenin adını alır veya ayarlar.Gets or sets the name of the application or the object that causes the error. (Devralındığı yer: Exception) |
StackTrace |
Çağrı yığınında anlık çerçevelerin dize gösterimini alır.Gets a string representation of the immediate frames on the call stack. (Devralındığı yer: Exception) |
TargetSite |
Geçerli özel durumu oluşturan yöntemi alır.Gets the method that throws the current exception. (Devralındığı yer: Exception) |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object. (Devralındığı yer: Object) |
GetBaseException() |
Türetilmiş bir sınıfta geçersiz kılınırsa, Exception bir veya daha fazla sonraki özel durumun kök nedeni olan öğesini döndürür.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions. (Devralındığı yer: Exception) |
GetHashCode() |
Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function. (Devralındığı yer: Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Türetilmiş bir sınıfta geçersiz kılınırsa, SerializationInfo özel durum hakkındaki bilgileri ayarlar.When overridden in a derived class, sets the SerializationInfo with information about the exception. (Devralındığı yer: Exception) |
GetType() |
Geçerli örneğin çalışma zamanı türünü alır.Gets the runtime type of the current instance. (Devralındığı yer: Exception) |
MemberwiseClone() |
Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object. (Devralındığı yer: Object) |
ToString() |
Geçerli özel durumun dize gösterimini oluşturur ve döndürür.Creates and returns a string representation of the current exception. (Devralındığı yer: Exception) |
Ekinlikler
SerializeObjectState |
Özel durum hakkında serileştirilmiş veri içeren bir özel durum nesnesi oluşturmak için bir özel durum serileştirildiğinde gerçekleşir.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception. (Devralındığı yer: Exception) |