Comments (9)
Please provide the whole callstack!
from dahomey.cbor.
If I step through it, it's:
DateTimeConverter.cs:24
return DateTimeOffset.FromUnixTimeSeconds(unixTime).DateTime;
MemberConverter.cs:51
_memberSetter((T)obj, _memberConverter.Read(ref reader)); <-- HERE
Probably something with:
private readonly Action<T, TM> _memberSetter;
It has to do with the limitations of Xamarin.iOS described in the URL above and probably has to do with the Generic T but not sure what and how to go around it. Is it possible to have a converter without using this generic code?
from dahomey.cbor.
Sorry,
It's not clear enough.
MemberConverter.cs:51
_memberSetter((T)obj, _memberConverter.Read(ref reader));
is called for every type of property, integers, floats, strings, objects, collections etc. Not only DateTime.
If it fails for DateTime, it should fail for any other type. Is it the case?
Does the Xamarin JIT problem trigger any kind of exception?
If it's the case it would be helpful to get the full callstack of this exception to give me more hints about the problem.
Thank you
from dahomey.cbor.
Also could provide your custom class and Cbor input buffer please?
from dahomey.cbor.
@mcatanzariti the problem is that there is no full callstack because it does not give me an exception. It probably gets swallowed somehow. It appears as a debug message in the logs, no exception.
I changed the data type to a long and that works. It's weird because other scalar types and my own classes work. When I make it a long instead of DateTime it works.
Reading the limitations does not ring a bell?
I will try to give some clarity about this later this week, hopefully with custom class and cbor buffer.
from dahomey.cbor.
Hi,
When you have time, could you provide a custom class?
I have an hypothesis, if you use a field instead of a property, the field accessor is generated by compiling an expression tree, which trigger the JIT. So it won't be compatible with Xamarin AOT...
from dahomey.cbor.
I will just not sure when. Quite busy at the moment. Hopefully I manage next week!
from dahomey.cbor.
Uhm can it be that you meant it the other way around? I'm using a field now and that seems to work.
from dahomey.cbor.
Hum I cannot explain it because the field getter/setter are generated by invoking the JIT whereas the property getter/setter already exist and are invoked by reflection
from dahomey.cbor.
Related Issues (20)
- Cannot serialize enum in object member HOT 1
- Project status HOT 1
- Security Issues with Polymorphic support in serialization
- How to convert CborValue to standard .NET type? HOT 2
- Storing a DateTime in CborValue/CborObject HOT 2
- Feature Suggestion: Support for reading multiple CBOR objects sequentially from a stream. HOT 3
- Override CborReader HOT 26
- ReadDataItem return type HOT 2
- Deserialize an array into Tuple HOT 2
- Support native AoT HOT 2
- Method not found !!0 Dahomey.Cbor.Cbor.Deserialize<!0>(System.ReadOnlySpan`1<byte>,Dahomey.Cbor.CborOptions) HOT 4
- Issue with Xamarin Forms linker and default constructor HOT 4
- Support record classes HOT 2
- Deserialization of abstract record class fails HOT 3
- Feature request: Add and support int key for CborPropertyAttribute HOT 2
- In DateTimeConverter, let DateTime.Kind be unspecified if it is in fact unspecified HOT 2
- Consider letting CborReader.SkipDataItem skip semantic tags HOT 1
- How-to do a Custom ArrayConverter HOT 2
- Consider adding CborWriter.WriteByteString(int) and WriteByteString(ReadOnlySequence<byte>) HOT 3
- Feature request: Add ReadOnlySequence<byte> overload to CborReader
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dahomey.cbor.