В проекте нужно из JSON-строки получить экземпляр некоторого класса, используя библиотеку LiteDB
.
JSON:
{
"field1": "string",
"field2": 1
}
Классы устроены следующим образом:
class Class1
{
public string field1;
public int field2;
}
В классе-наследнике LiteDatabase
определен следующий метод:
private T Read<T>(Stream inStream)
{
var ms = new MemoryStream();
inStream.CopyTo(ms);
var bytes = ms.ToArray();
ms.Dispose();
var doc = BsonSerializer.Deserialize(bytes);
return Mapper.ToObject<T>(doc);
}
Проблема в том, что при выполнении BsonSerializer.Deserialize
вызывается исключение:
System.IndexOutOfRangeException не обработано пользовательским кодом
HResult=-2146233080
Message=Индекс находился вне границ массива.
Source=LiteDB
StackTrace:
в LiteDB.BsonReader.ReadCString(ByteReader reader)
в LiteDB.BsonReader.ReadElement(ByteReader reader, String& name)
в LiteDB.BsonReader.ReadDocument(ByteReader reader)
в LiteDB.BsonSerializer.Deserialize(Byte[] bson)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Нашел на GitHub'e пример с использованием Emgu на C# (RedballTracker)Решил испытать этот пример, изучив код (учусь работать с Emgu)
Не могу составить правильно регулярное выражениеПомогите!
Есть некий UserControlУ него есть свойство зависимостей ItemsProperty типа IList<string> (да да, именно строго типизированный лист)