ArrayTypeMismatchException ArrayTypeMismatchException ArrayTypeMismatchException ArrayTypeMismatchException Class

Definice

Výjimka, která je vyvolána při pokusu o uložení prvku nesprávného typu v rámci pole.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 : SystemException
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class ArrayTypeMismatchException : SystemException
type ArrayTypeMismatchException = class
    inherit SystemException
Public Class ArrayTypeMismatchException
Inherits SystemException
Dědičnost
ArrayTypeMismatchExceptionArrayTypeMismatchExceptionArrayTypeMismatchExceptionArrayTypeMismatchException
Atributy

Příklady

Následující příklad kódu ukazuje scénáře, kde ArrayTypeMismatchException je vyvolána.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

Imports System


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

Poznámky

ArrayTypeMismatchExceptionje vyvolána, když systém nemůže převést element na typ deklarovaný pro pole.ArrayTypeMismatchException is thrown when the system cannot convert the element to the type declared for the array. Například element typu String nemůže být uložen Int32 v poli, protože převod mezi těmito typy není podporován.For example, an element of type String cannot be stored in an Int32 array because conversion between these types is not supported. Aby aplikace vyvolala tuto výjimku, je všeobecně nepotřebná.It is generally unnecessary for applications to throw this exception.

Následující pokyny jazyka MSIL (Microsoft Intermediate Language) vyvolávají ArrayTypeMismatchException :The following Microsoft intermediate language (MSIL) instructions throw ArrayTypeMismatchException :

  • ldelem.<type>ldelem.<type>

  • ldelemaldelema

  • stelem.<type>stelem.<type>

ArrayTypeMismatchExceptionpoužívá HRESULT COR_E_ARRAYTYPEMISMATCH, který má hodnotu 0x80131503.ArrayTypeMismatchException uses the HRESULT COR_E_ARRAYTYPEMISMATCH, which has the value 0x80131503.

Seznam počáteční hodnoty vlastností pro instanci ArrayTypeMismatchException, najdete v článku ArrayTypeMismatchException konstruktory.For a list of initial property values for an instance of ArrayTypeMismatchException, see the ArrayTypeMismatchException constructors.

Konstruktory

ArrayTypeMismatchException() ArrayTypeMismatchException() ArrayTypeMismatchException() ArrayTypeMismatchException()

Inicializuje novou instanci třídy ArrayTypeMismatchException třídy.Initializes a new instance of the ArrayTypeMismatchException class.

ArrayTypeMismatchException(SerializationInfo, StreamingContext) ArrayTypeMismatchException(SerializationInfo, StreamingContext) ArrayTypeMismatchException(SerializationInfo, StreamingContext) ArrayTypeMismatchException(SerializationInfo, StreamingContext)

Inicializuje novou instanci třídy ArrayTypeMismatchException třídy se serializovanými daty.Initializes a new instance of the ArrayTypeMismatchException class with serialized data.

ArrayTypeMismatchException(String) ArrayTypeMismatchException(String) ArrayTypeMismatchException(String) ArrayTypeMismatchException(String)

Inicializuje novou instanci třídy ArrayTypeMismatchException třídy pomocí zadané chybové zprávy.Initializes a new instance of the ArrayTypeMismatchException class with a specified error message.

ArrayTypeMismatchException(String, Exception) ArrayTypeMismatchException(String, Exception) ArrayTypeMismatchException(String, Exception) ArrayTypeMismatchException(String, Exception)

Inicializuje novou instanci třídy ArrayTypeMismatchException třídy pomocí zadané chybové zprávy a odkazu na vnitřní výjimku, která je příčinou této výjimky.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.

Vlastnosti

Data Data Data Data

Získá kolekci párů klíč/hodnota, které poskytují další uživatelsky definované informace o výjimce.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

Získá nebo nastaví odkaz na soubor s nápovědě spojený s touto výjimkou.Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

Získá nebo nastaví hodnotu HRESULT, kódované číselné hodnoty, která je přiřazena konkrétní výjimce.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

Exception Získá instanci, která způsobila aktuální výjimku.Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

Získá zprávu s popisem aktuální výjimky.Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu.Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

Načte řetězcovou reprezentaci okamžitých snímků v zásobníku volání.Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

Získá metodu, která vyvolá aktuální výjimku.Gets the method that throws the current exception.

(Inherited from Exception)

Metody

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

Při přepsání v odvozené třídě vrátí hodnotu Exception , která je hlavní příčinou jedné nebo více následných výjimek.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Při přepsání v odvozené třídě nastaví na SerializationInfo výjimku informace o výjimce.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Inherited from Exception)
GetType() GetType() GetType() GetType()

Získá typ modulu runtime aktuální instance.Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Vytvoří Mělkou kopii aktuální Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Vytvoří a vrátí řetězcovou reprezentaci aktuální výjimky.Creates and returns a string representation of the current exception.

(Inherited from Exception)

Události

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

Nastane, pokud je serializovaná výjimka pro vytvoření objektu stavu výjimky, který obsahuje Serializovaná data o výjimce.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

Platí pro

Viz také