Freigeben über


ArrayTypeMismatchException-Konstruktor ()

Initialisiert eine neue Instanz der ArrayTypeMismatchException-Klasse.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Sub New
'Usage
Dim instance As New ArrayTypeMismatchException
public ArrayTypeMismatchException ()
public:
ArrayTypeMismatchException ()
public ArrayTypeMismatchException ()
public function ArrayTypeMismatchException ()

Hinweise

Dieser Konstruktor initialisiert die Message-Eigenschaft der neuen Instanz mit einer vom System gelieferten Meldung, die den Fehler beschreibt, z. B. "Ein Quellarraytyp kann nicht einem Zielarraytyp zugeordnet werden". Diese Methode berücksichtigt die aktuelle Systemkultur.

In der folgenden Tabelle sind die anfänglichen Eigenschaftenwerte für eine Instanz der ArrayTypeMismatchException-Klasse aufgeführt.

Eigenschaft

Wert

InnerException

Ein NULL-Verweis (Nothing in Visual Basic).

Message

Die lokalisierte Zeichenfolge der Fehlermeldung.

Beispiel

Das folgende Beispiel veranschaulicht den ArrayTypeMismatchException()-Konstruktor der ArrayTypeMismatchException-Klasse. Die Klasse enthält eine Funktion, die zwei Arrays als Argumente erhält und überprüft, ob die beiden Arrays von demselben Typ sind. Wenn die Arrays nicht von demselben Typ sind, wird eine neue ArrayTypeMismatchException ausgelöst und dann in der aufrufenden Methode abgefangen.

Imports System

Public Class ArrayTypeMisMatchConst
   Public Sub CopyArray(myArray As Array, myArray1 As Array)
      
      Dim typeArray1 As String = myArray.GetType().ToString()
      Dim typeArray2 As String = myArray1.GetType().ToString()
      ' Check whether the two arrays are of same type or not.
      If typeArray1 = typeArray2 Then
         ' Copy the values from one array to another.
         myArray.SetValue("Name: " + myArray1.GetValue(0), 0)
         myArray.SetValue("Name: " + myArray1.GetValue(1), 1)
      Else
         ' Throw an exception of type 'ArrayTypeMismatchException'.
         Throw New ArrayTypeMismatchException()
      End If
   End Sub 'CopyArray

   Shared Sub Main()
      Try
         Dim myStringArray(2) As String
         myStringArray.SetValue("Jones", 0)
         myStringArray.SetValue("John", 1)
         Dim myIntArray(2) As Integer
         Dim myArrayType As New ArrayTypeMisMatchConst()
         myArrayType.CopyArray(myStringArray, myIntArray)
      Catch e As ArrayTypeMismatchException
         Console.WriteLine("The Exception is :" + e.ToString())
      End Try 
   End Sub 'Main
End Class 'ArrayTypeMisMatchConst
using System;

public class ArrayTypeMisMatchConst
{
   public void CopyArray(Array myArray,Array myArray1)
   {
      string typeArray1 = myArray.GetType().ToString();
      string typeArray2 = myArray1.GetType().ToString();
      // Check whether the two arrays are of same type or not.
      if(typeArray1==typeArray2)
      {
         // Copy the values from one array to another.
         myArray.SetValue("Name: "+myArray1.GetValue(0),0);
         myArray.SetValue("Name: "+myArray1.GetValue(1),1);
      }
      else
      {
         // Throw an exception of type 'ArrayTypeMismatchException'.
         throw new ArrayTypeMismatchException();
      }
   }
   static void Main()
   {
      try
      {
         string[] myStringArray = new string[2];
         myStringArray.SetValue("Jones",0);
         myStringArray.SetValue("John",1);

         int[] myIntArray = new int[2];
         ArrayTypeMisMatchConst myArrayType = new ArrayTypeMisMatchConst();
         myArrayType.CopyArray(myStringArray,myIntArray);
      }
      catch(ArrayTypeMismatchException e)
      {
         Console.WriteLine("The Exception is :"+e);
      }
   }
}
using namespace System;
public ref class ArrayTypeMisMatchConst
{
public:
   void CopyArray( Array^ myArray, Array^ myArray1 )
   {
      String^ typeArray1 = myArray->GetType()->ToString();
      String^ typeArray2 = myArray1->GetType()->ToString();
      
      // Check whether the two arrays are of same type or not.
      if ( typeArray1 == typeArray2 )
      {
         
         // Copy the values from one array to another.
         myArray->SetValue( String::Concat(  "Name: ", myArray1->GetValue( 0 )->ToString() ), 0 );
         myArray->SetValue( String::Concat(  "Name: ", myArray1->GetValue( 1 )->ToString() ), 1 );
      }
      else
      {
         
         // Throw an exception of type 'ArrayTypeMismatchException'.
         throw gcnew ArrayTypeMismatchException;
      }
   }

};

int main()
{
   try
   {
      array<String^>^myStringArray = gcnew array<String^>(2);
      myStringArray->SetValue( "Jones", 0 );
      myStringArray->SetValue( "John", 1 );
      array<Int32>^myIntArray = gcnew array<Int32>(2);
      ArrayTypeMisMatchConst^ myArrayType = gcnew ArrayTypeMisMatchConst;
      myArrayType->CopyArray( myStringArray, myIntArray );
   }
   catch ( ArrayTypeMismatchException^ e ) 
   {
      Console::WriteLine( "The Exception is : {0}", e );
   }

}
import System.*;

public class ArrayTypeMisMatchConst
{
    public void CopyArray(Array myArray, Array myArray1)
    {
        String typeArray1 = myArray.GetType().ToString();
        String typeArray2 = myArray1.GetType().ToString();
        // Check whether the two arrays are of same type or not.
        if (typeArray1.Equals(typeArray2)) {
            // Copy the values from one array to another.
            myArray.SetValue("Name: " + myArray1.GetValue(0), 0);
            myArray.SetValue("Name: " + myArray1.GetValue(1), 1);
        }
        else {
            // Throw an exception of type 'ArrayTypeMismatchException'.
            throw new ArrayTypeMismatchException();
        }
    } //CopyArray

    public static void main(String[] args)
    {
        try {
            String myStringArray[] = new String[2];
            myStringArray.SetValue("Jones", 0);
            myStringArray.SetValue("John", 1);
            int myIntArray[] = new int[2];
            ArrayTypeMisMatchConst myArrayType = new ArrayTypeMisMatchConst();
            myArrayType.CopyArray(myStringArray, myIntArray);
        }
        catch (ArrayTypeMismatchException e) {
            Console.WriteLine("The Exception is :" + e);
        }
    } //main
} //ArrayTypeMisMatchConst

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

ArrayTypeMismatchException-Klasse
ArrayTypeMismatchException-Member
System-Namespace