ArrayTypeMismatchException Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса ArrayTypeMismatchException.
Перегрузки
| Имя | Описание |
|---|---|
| ArrayTypeMismatchException() |
Инициализирует новый экземпляр класса ArrayTypeMismatchException. |
| ArrayTypeMismatchException(String) |
Инициализирует новый экземпляр ArrayTypeMismatchException класса с указанным сообщением об ошибке. |
| ArrayTypeMismatchException(SerializationInfo, StreamingContext) |
Устаревшие..
Инициализирует новый экземпляр ArrayTypeMismatchException класса сериализованными данными. |
| ArrayTypeMismatchException(String, Exception) |
Инициализирует новый экземпляр ArrayTypeMismatchException класса с указанным сообщением об ошибке и ссылкой на внутреннее исключение, которое является причиной этого исключения. |
ArrayTypeMismatchException()
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
Инициализирует новый экземпляр класса ArrayTypeMismatchException.
public:
ArrayTypeMismatchException();
public ArrayTypeMismatchException();
Public Sub New ()
Примеры
В следующем примере показан конструктор ArrayTypeMismatchException ArrayTypeMismatchException() класса. Он содержит функцию, которая принимает два массива в качестве аргументов и проверяет, являются ли два массива одинаковыми типами. Если массивы имеют разные типы, создается новый ArrayTypeMismatchException метод, а затем перехватывается в вызывающем методе.
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();
myArrayType.CopyArray(myStringArray, myIntArray);
}
catch (ArrayTypeMismatchException e)
{
Console.WriteLine("The Exception is :" + e);
}
}
}
open System
let copyArray (myArray: Array) (myArray1: Array) =
let typeArray1 = myArray.GetType() |> string
let typeArray2 = myArray1.GetType() |> string
// 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'.
raise (ArrayTypeMismatchException())
try
let myStringArray = [| "Jones"; "John" |]
let myIntArray = Array.zeroCreate<int> 2
copyArray myStringArray myIntArray
with :? ArrayTypeMismatchException as e ->
printfn $"The Exception is: {e}"
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
Shared Sub Main()
Try
Dim myStringArray(1) As String
myStringArray.SetValue("Jones", 0)
myStringArray.SetValue("John", 1)
Dim myIntArray(1) 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
End Class
Комментарии
Этот конструктор инициализирует Message свойство нового экземпляра в предоставленное системой сообщение, описывающее ошибку, например "Тип исходного массива не может быть назначен типу целевого массива". Это сообщение учитывает текущий язык и региональные параметры системы.
В следующей таблице показаны начальные значения свойств для экземпляра ArrayTypeMismatchException.
| Недвижимость | Ценность |
|---|---|
| InnerException | Ссылка null (Nothing в Visual Basic). |
| Message | Локализованная строка сообщения об ошибке. |
Применяется к
ArrayTypeMismatchException(String)
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
Инициализирует новый экземпляр ArrayTypeMismatchException класса с указанным сообщением об ошибке.
public:
ArrayTypeMismatchException(System::String ^ message);
public ArrayTypeMismatchException(string message);
public ArrayTypeMismatchException(string? message);
new ArrayTypeMismatchException : string -> ArrayTypeMismatchException
Public Sub New (message As String)
Параметры
Примеры
В следующем примере показан конструктор ArrayTypeMismatchException ArrayTypeMismatchException(String) класса. Он содержит функцию, которая принимает два массива в качестве аргументов и проверяет, являются ли два массива одинаковыми типами. Если массивы имеют разные типы, создается новый ArrayTypeMismatchException метод, а затем перехватывается в вызывающем методе.
using System;
public class ArrayTypeMismatchConst2
{
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)
{
// Copies 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' with a message string as parameter.
throw new ArrayTypeMismatchException("The Source and destination arrays are not of same type.");
}
}
static void Main()
{
try
{
string[] myStringArray = new string[2];
myStringArray.SetValue("Jones", 0);
myStringArray.SetValue("John", 1);
int[] myIntArray = new int[2];
ArrayTypeMismatchConst2 myArrayType = new();
myArrayType.CopyArray(myStringArray, myIntArray);
}
catch (ArrayTypeMismatchException e)
{
Console.WriteLine("The Exception Message is : " + e.Message);
}
}
}
open System
let copyArray (myArray: Array) (myArray1: Array) =
let typeArray1 = myArray.GetType() |> string
let typeArray2 = myArray1.GetType() |> string
// 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' with a message string as parameter.
raise (ArrayTypeMismatchException "The Source and destination arrays are not of same type.")
try
let myStringArray = [| "Jones"; "John" |]
let myIntArray = Array.zeroCreate<int> 2
copyArray myStringArray myIntArray
with :? ArrayTypeMismatchException as e ->
printfn $"The Exception is: {e}"
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
' Copies 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' with a message string as parameter.
Throw New ArrayTypeMismatchException("The Source and destination arrays are not of same type.")
End If
End Sub
Shared Sub Main()
Try
Dim myStringArray(1) As String
myStringArray.SetValue("Jones", 0)
myStringArray.SetValue("John", 1)
Dim myIntArray(1) As Integer
Dim myArrayType As New ArrayTypeMisMatchConst()
myArrayType.CopyArray(myStringArray, myIntArray)
Catch e As ArrayTypeMismatchException
Console.WriteLine(("The Exception Message is : " + e.Message))
End Try
End Sub
End Class
Комментарии
Содержимое message параметра предназначено для понимания людьми. Вызывающий объект этого конструктора необходим, чтобы убедиться, что эта строка локализована для текущего языка и региональных параметров системы.
В следующей таблице показаны начальные значения свойств для экземпляра ArrayTypeMismatchException.
| Недвижимость | Ценность |
|---|---|
| InnerException | Ссылка null (Nothing в Visual Basic). |
| Message | Строка сообщения об ошибке. |
Применяется к
ArrayTypeMismatchException(SerializationInfo, StreamingContext)
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
Внимание
This API supports obsolete formatter-based serialization. It should not be called or extended by application code.
Инициализирует новый экземпляр ArrayTypeMismatchException класса сериализованными данными.
protected:
ArrayTypeMismatchException(System::Runtime::Serialization::SerializationInfo ^ info, System::Runtime::Serialization::StreamingContext context);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected ArrayTypeMismatchException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
protected ArrayTypeMismatchException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
[<System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
new ArrayTypeMismatchException : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> ArrayTypeMismatchException
new ArrayTypeMismatchException : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> ArrayTypeMismatchException
Protected Sub New (info As SerializationInfo, context As StreamingContext)
Параметры
- info
- SerializationInfo
Объект, содержащий сериализованные данные объекта.
- context
- StreamingContext
Контекстные сведения о источнике или назначении.
- Атрибуты
Комментарии
Этот конструктор вызывается во время десериализации, чтобы восстановить объект исключения, передаваемый через поток. Дополнительные сведения см. в статье о сериализации XML и SOAP.
См. также раздел
Применяется к
ArrayTypeMismatchException(String, Exception)
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
- Исходный код:
- ArrayTypeMismatchException.cs
Инициализирует новый экземпляр ArrayTypeMismatchException класса с указанным сообщением об ошибке и ссылкой на внутреннее исключение, которое является причиной этого исключения.
public:
ArrayTypeMismatchException(System::String ^ message, Exception ^ innerException);
public ArrayTypeMismatchException(string message, Exception innerException);
public ArrayTypeMismatchException(string? message, Exception? innerException);
new ArrayTypeMismatchException : string * Exception -> ArrayTypeMismatchException
Public Sub New (message As String, innerException As Exception)
Параметры
- message
- String
Сообщение об ошибке, объясняющее причину исключения.
- innerException
- Exception
Исключение, которое является причиной текущего исключения.
innerException Если параметр не является пустой ссылкой, текущее исключение возникает в блокеcatch, который обрабатывает внутреннее исключение.
Примеры
В следующем примере кода показан ArrayTypeMismatchException конструктор ArrayTypeMismatchException класса. Он содержит функцию, которая принимает два массива в качестве аргументов и проверяет, являются ли два массива одинаковыми типами. Если массивы имеют разные типы, создается новый ArrayTypeMismatchException метод, а затем перехватывается в вызывающем методе.
using System;
public class ArrayTypeMismatchConst3
{
public void CopyArray(Array myArray, Array myArray1)
{
try
{
// Copies the value of one array into another array.
myArray.SetValue(myArray1.GetValue(0), 0);
myArray.SetValue(myArray1.GetValue(1), 1);
}
catch (Exception e)
{
// Throw an exception of with a message and innerexception.
throw new ArrayTypeMismatchException("The Source and destination arrays are of not same type.", e);
}
}
static void Main()
{
try
{
string[] myStringArray = new string[2];
myStringArray.SetValue("Jones", 0);
myStringArray.SetValue("John", 1);
int[] myIntArray = new int[2];
ArrayTypeMismatchConst3 myArrayType = new();
myArrayType.CopyArray(myStringArray, myIntArray);
}
catch (ArrayTypeMismatchException e)
{
Console.WriteLine("The Exception Message is : " + e.Message);
Console.WriteLine("The Inner exception is :" + e.InnerException);
}
}
}
open System
let copyArray (myArray: Array) (myArray1: Array) =
try
// Copies the value of one array into another array.
myArray.SetValue(myArray1.GetValue 0, 0)
myArray.SetValue(myArray1.GetValue 1, 1)
with e ->
// Throw an exception of with a message and innerexception.
raise (ArrayTypeMismatchException("The Source and destination arrays are of not same type.", e))
try
let myStringArray = [| "Jones"; "John" |]
let myIntArray = Array.zeroCreate<int> 2
copyArray myStringArray myIntArray
with :? ArrayTypeMismatchException as e ->
printfn $"The Exception Message is : {e.Message}"
printfn $"The Inner exception is: {e.InnerException}"
Public Class ArrayTypeMisMatchConst
Public Sub CopyArray(myArray As Array, myArray1 As Array)
Try
' Copies the value of one array into another array.
myArray.SetValue(myArray1.GetValue(0), 0)
myArray.SetValue(myArray1.GetValue(1), 1)
Catch e As Exception
' Throw an exception of type 'ArrayTypeMismatchException' with a message and innerexception.
Throw New ArrayTypeMismatchException("The Source and destination arrays are of not same type", e)
End Try
End Sub
Shared Sub Main()
Try
Dim myStringArray(1) As String
myStringArray.SetValue("Jones", 0)
myStringArray.SetValue("John", 1)
Dim myIntArray(1) As Integer
Dim myArrayType As New ArrayTypeMisMatchConst()
myArrayType.CopyArray(myStringArray, myIntArray)
Catch e As ArrayTypeMismatchException
Console.WriteLine("The Exception Message is : " + e.Message)
Console.WriteLine("The Inner exception is :" + e.InnerException.ToString())
End Try
End Sub
End Class
Комментарии
Исключение, которое создается в результате предыдущего исключения, должно содержать ссылку на предыдущее исключение в свойстве InnerException . Свойство InnerException возвращает то же значение, которое передается конструктору или значение NULL (Nothing в Visual Basic), если InnerException свойство не предоставляет внутреннее значение исключения конструктору.
В следующей таблице показаны начальные значения свойств для экземпляра ArrayTypeMismatchException.
| Недвижимость | Ценность |
|---|---|
| InnerException | Ссылка на внутреннее исключение. |
| Message | Строка сообщения об ошибке. |