Comments (1)
The problem comes from the fact that the default discriminator policy writes the discriminator to the cbor buffer only if the defined type is different from the actual type of the object.
You have 2 options to fix the problem:
either you serialize the dog instance as an animal to let the framework detect it's an inherited class:
byte[] serializedBytes = null;
using (var ms = new MemoryStream())
{
await Cbor.SerializeAsync<Animal>(dog, ms, options);
serializedBytes = ms.ToArray();
}
or you change the discriminator policy to always for the dog type:
[CborDiscriminator("dog.dog", Policy = CborDiscriminatorPolicy.Always)]
public class Dog : Animal
{
public int OtherSound { get; set; }
}
I hope it helps!
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
- Collection expression with single element failed to serialize
- 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.