Вы можете использовать проект с открытым исходным кодом NSwag : в графическом интерфейсе вы можете выбрать .NET-класс из существующей .NET-библиотеки DLL и создать для него интерфейс TypeScript.
Проект также предоставляет инструменты командной строки и поддерживает шаблоны T4, а также создает клиентский код для контроллеров Web API ...
Чтобы легко понять проблему, предположим, что мы написали этот код:
static void Main(string[] args)
{
string[] test = new string[3];
test[0]= "hello1";
test[1]= "hello2";
test[2]= "hello3";
for (int i = 0; i <= 3; i++)
{
Console.WriteLine(test[i].ToString());
}
}
Результат будет:
hello1
hello2
hello3
Unhandled Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.
Размер массива равен 3 (индексы 0, 1 и 2), но при попытке получить доступ за пределами границ с помощью (3) он выдает исключение.
Простое объяснение того, что такое Исключение из связанного исключения:
Подумайте, что в одном из поездов есть его отсеки: D1, D2, D3. Один пассажир пришел, чтобы войти в поезд, и у него есть билет на D4. теперь, что будет. пассажир хочет войти в отсек, который не существует, поэтому явно возникнет проблема.
Тот же сценарий: всякий раз, когда мы пытаемся получить доступ к списку массивов и т. д., мы можем получить доступ только к существующим индексам в массив. array[0]
и array[1]
. Если мы попытаемся получить доступ к array[3]
, его там не будет, поэтому появится индекс из связанного исключения.