Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 1
1

Помогите исправить "TypeInitializationException не обработано"

17.02.2016, 00:42. Показов 1200. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При компиляции данной программы выдает такое:
Помогите исправить "TypeInitializationException не обработано"

Пока не очень разбираюсь,вот думаю лучше у экспертов спросить)
Помогите пожалуйста, добрые люди, буду очень благодарен.
Вот весь код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using terrain;
using Ionic.Zlib;
using Newtonsoft.Json;
using System.IO;
 
namespace terrain
{
    class jsonwmapexporter
    {
        static String filepath = null;
        static void Main()
        {
            byte[] dis = Convert(File.ReadAllText("C:/map.jm")); //open that .jm file
            File.WriteAllBytes("C:/map.wmap", dis); //and saves it there //NEED TO RUN terrain.exe AS ADMIN!
        }
        private struct obj
        {
            public string name;
            public string id;
        }
        private struct loc
        {
            public string ground;
            public obj[] objs;
            public obj[] regions;
        }
        private struct json_dat
        {
            public byte[] data;
            public int width;
            public int height;
            public loc[] dict;
        }
        void Export(TerrainTile[,] tiles, string path)
        {
            File.WriteAllBytes(path, Export(tiles));
        }
        public static byte[] Convert(string json)
        {
            var obj = JsonConvert.DeserializeObject<json_dat>(json);
            var dat = ZlibStream.UncompressBuffer(obj.data);
 
            Dictionary<short, TerrainTile> tileDict = new Dictionary<short, TerrainTile>();
            for (int i = 0; i < obj.dict.Length; i++)
            {
                var o = obj.dict[i];
                tileDict[(short)i] = new TerrainTile()
                {
                    TileId = o.ground == null ? (short)0xff : XmlDatas.IdToType[o.ground],
                    TileObj = o.objs == null ? null : o.objs[0].id,
                    Name = o.objs == null ? "" : o.objs[0].name ?? "",
                    Terrain = TerrainType.None,
                    Region = o.regions == null ? TileRegion.None : (TileRegion)Enum.Parse(typeof(TileRegion), o.regions[0].id.Replace(' ', '_'))
                };
            }
 
            var tiles = new TerrainTile[obj.width, obj.height];
            using (NReader rdr = new NReader(new MemoryStream(dat)))
                for (int y = 0; y < obj.height; y++)
                    for (int x = 0; x < obj.width; x++)
                    {
                        tiles[x, y] = tileDict[rdr.ReadInt16()];
                    }
            return Export(tiles);
        }
        public static byte[] Export(TerrainTile[,] tiles)
        {
            List<TerrainTile> dict = new List<TerrainTile>();
 
            int w = tiles.GetLength(0);
            int h = tiles.GetLength(1);
            byte[] dat = new byte[w * h * 2];
            int idx = 0;
            for (int y = 0; y < h; y++)
                for (int x = 0; x < w; x++)
                {
                    TerrainTile tile = tiles[x, y];
                    short i = (short)dict.IndexOf(tile);
                    if (i == -1)
                    {
                        i = (short)dict.Count;
                        dict.Add(tile);
                    }
                    dat[idx] = (byte)(i & 0xff);
                    dat[idx + 1] = (byte)(i >> 8);
                    idx += 2;
                }
 
            MemoryStream ms = new MemoryStream();
            using (BinaryWriter wtr = new BinaryWriter(ms))
            {
                wtr.Write((short)dict.Count);
                foreach (var i in dict)
                {
                    wtr.Write(i.TileId);
                    wtr.Write(i.TileObj ?? "");
                    wtr.Write(i.Name ?? "");
                    wtr.Write((byte)i.Terrain);
                    wtr.Write((byte)i.Region);
                }
                wtr.Write(w);
                wtr.Write(h);
                wtr.Write(dat);
            }
            return ZlibStream.CompressBuffer(ms.ToArray());
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2016, 00:42
Ответы с готовыми решениями:

При компиляции выдает "TypeInitializationException не обработано"
При компиляции данной программы выдает такое: После чего такая ошибка так и не понял. Помогите...

Как исправить исключение System.TypeInitializationException
Добрый день! Не могу понять, как исправить исключение System.TypeInitializationException! Помогите...

Как исправить исключение System.TypeInitializationException?
Я только учусь и по этому не могу понять как исправить эту ошибку, если можно, то &quot;рассусольте&quot; мне...

System.TypeInitializationException
System.TypeInitializationException: &quot;Инициализатор типа &quot;Rom24.Rom24&quot; выдал исключение.&quot; ...

1
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371
17.02.2016, 08:47 2
Ну Ваш код бесполезен в данной ситуации. Судя по всему было исключение в статическом конструкторе XmlDatas. Там и смотрите
0
17.02.2016, 08:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2016, 08:47
Помогаю со студенческими работами здесь

System.TypeInitializationException HResult=0x80131534
При запуске выкидывает ошибку System.TypeInitializationException HResult=0x80131534 ...

TypeInitializationException при инициализации формы
Здравствуйте! При инициализации формы выскакивает исключение TypeInitializationException. Причём...

В чём причина возникновения TypeInitializationException?
Возникла проблема. Поскольку я чрезвычайно начинающ, понятия не имею, что с этим делать. Справка...

Ошибка TypeInitializationException при использовании My.Settings
Доброго дня! Вчера значит писал программу, всё было норм. Сегодня дописал ещё немного кода,...

TypeInitializationException при создании Capture из библиотеки Emgu
Вот эта строка Capture capture = new Capture(); выдает исключение : Необработанное исключение...

При запуске метода выдает System.TypeInitializationException
Метод принимает строку ,являющейся выбранным пунктом в комбобоксе. При запуске метода выдает...

System.TypeInitializationException при сборке проекта с Crystal Reports в Release
Добрый день, всем ребят! У себя локально установил Sap CrystalReports for VS 2010 full.exe,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru