ArrayTypeMismatchException Sınıf
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.
Bir dizi içinde yanlış türdeki bir öğeyi depolama girişiminde bulunulduğunda oluşan özel durum.
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, nerede ArrayTypeMismatchException oluştuğuna ilişkin senaryoları gösterir.
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.");
}
}
}
}
open System
[<EntryPoint>]
let main _ =
let names = [| "Dog"; "Cat"; "Fish" |]
let objs = box names :?> obj[]
try
objs[2] <- "Mouse"
for animalName in objs do
printfn $"{animalName}"
with :? ArrayTypeMismatchException ->
// Not reached; "Mouse" is of the correct type.
printfn "Exception Thrown."
try
let obj = 13 :> obj
objs[2] <- obj
with :? ArrayTypeMismatchException ->
// Always reached, 13 is not a string.
printfn "New element is not of the correct type."
// Shadow objs as an array of objects instead of an array of strings.
let objs: obj[] = [| "Turtle"; 12; 2.341 |]
try
for element in objs do
printfn $"{element}"
with :? ArrayTypeMismatchException ->
// ArrayTypeMismatchException is not thrown this time.
printfn "Exception Thrown."
0
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 bildirilen türe dönüştüremediğinde oluşturulur. Örneğin, bu türler arasında dönüştürme desteklenmediğinden, türündeki String bir öğe dizide Int32 depolanamaz. Uygulamaların bu özel durumu oluşturması genellikle gereksizdir.
Aşağıdaki Microsoft ara dili (MSIL) yönergeleri şu şekildedir ArrayTypeMismatchException:
ldelem.<type>
ldelema
stelem.<type>
ArrayTypeMismatchException değeri 0x80131503 olan HRESULT COR_E_ARRAYTYPEMISMATCH kullanır.
örneğinin ilk özellik değerlerinin ArrayTypeMismatchExceptionlistesi için oluşturuculara ArrayTypeMismatchException bakın.
Oluşturucular
ArrayTypeMismatchException() |
ArrayTypeMismatchException sınıfının yeni bir örneğini başlatır. |
ArrayTypeMismatchException(SerializationInfo, StreamingContext) |
ArrayTypeMismatchException sınıfının yeni bir örneğini serileştirilmiş verilerle başlatır. |
ArrayTypeMismatchException(String) |
Belirtilen hata iletisiyle sınıfının yeni bir örneğini ArrayTypeMismatchException başlatır. |
ArrayTypeMismatchException(String, Exception) |
Sınıfın ArrayTypeMismatchException yeni bir örneğini belirtilen bir hata iletisiyle ve bu özel durumun nedeni olan iç özel duruma başvuruyla başlatır. |
Özellikler
Data |
Özel durum hakkında kullanıcı tanımlı ek bilgiler sağlayan bir anahtar/değer çifti koleksiyonu alır. (Devralındığı yer: Exception) |
HelpLink |
Bu özel durumla ilişkili yardım dosyasının bağlantısını alır veya ayarlar. (Devralındığı yer: Exception) |
HResult |
Belirli bir özel duruma atanan kodlanmış sayısal bir değer olan HRESULT değerini alır veya ayarlar. (Devralındığı yer: Exception) |
InnerException |
Exception Geçerli özel duruma neden olan örneği alır. (Devralındığı yer: Exception) |
Message |
Geçerli özel durumu açıklayan bir ileti alır. (Devralındığı yer: Exception) |
Source |
Hataya neden olan uygulamanın veya nesnenin adını alır veya ayarlar. (Devralındığı yer: Exception) |
StackTrace |
Çağrı yığınındaki anlık çerçevelerin dize gösterimini alır. (Devralındığı yer: Exception) |
TargetSite |
Geçerli özel durumu oluşturan yöntemini alır. (Devralındığı yer: Exception) |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetBaseException() |
Türetilmiş bir sınıfta geçersiz kılındığında, sonraki bir veya daha fazla özel durumun kök nedeni olan değerini döndürür Exception . (Devralındığı yer: Exception) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Türetilmiş bir sınıfta geçersiz kılındığında, özel durum hakkındaki bilgilerle öğesini ayarlar SerializationInfo . (Devralındığı yer: Exception) |
GetType() |
Geçerli örneğin çalışma zamanı türünü alır. (Devralındığı yer: Exception) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli özel durumun dize gösterimini oluşturur ve döndürür. (Devralındığı yer: Exception) |
Ekinlikler
SerializeObjectState |
Kullanımdan kalktı.
Bir özel durum, özel durum hakkında serileştirilmiş veriler içeren bir özel durum nesnesi oluşturmak üzere seri hale getirildiğinde gerçekleşir. (Devralındığı yer: Exception) |