Found 516 packages
A micro library for easily creating C# classes with value semantics. No need to override Equals, GetHashCode, et all.
CSharpFunctionalExtensions - functional extensions for C#
Declare Value Objects in one line e.g. `class ClientRef : ValueOf<string, ClientRef> { }`), create using `ClientRef.From(someString)` The base Type ValueOf<TValue, TThis>, provides Equals, GetHashcode. Use ValueTuples for multi property values e.g `class Address : ValueOf<(string firstLine, string secondLine, Postcode postcode), Address> {}`
A value object implementation.
Quickly and efficiently implement the Equals and GetHashCode for value objects
Value is a pico library (or code snippets shed) to help you to easily implement Value Types (also known as Value Objects in DDD) in your C# projects without making implementation errors nor polluting your domain logic with boiler-plate code.
C# Source Generator to create value-object, inspired by units of measure.
Provides the fundamental primitives, classes and base classes that define commonly-used value and reference data types, events and event handlers, interfaces, attributes, and exceptions. This packages represents the core package, and provides the minimal set of types required to build a managed application. Commonly Used Types: System.Object System.Exception System.Int16 System.Int32 System.Int64 System.Enum System.String System.Char System.Boolean System.SByte System.Byte System.DateTime System.DateTimeOffset System.Single System.Double System.UInt16 System.UInt32 System.UInt64 System.IDisposable System.Uri When using NuGet 3.x this package requires at least version 3.4.
Provides older specialized non-generic collections; for example, a linked list dictionary, a bit vector, and collections that contain only strings. Commonly Used Types: System.Collections.Specialized.NameValueCollection System.Collections.Specialized.NameObjectCollectionBase System.Collections.Specialized.StringCollection System.Collections.Specialized.IOrderedDictionary System.Collections.Specialized.HybridDictionary System.Collections.Specialized.OrderedDictionary System.Collections.Specialized.ListDictionary System.Collections.Specialized.StringDictionary System.Collections.Specialized.BitVector32 When using NuGet 3.x this package requires at least version 3.4.
A libary that provides serializer support for System.Text.Json for value objects.
Implementation of Domain Driven Design Value Object in .NET
https://github.com/vkhorikov/CSharpFunctionalExtensions
ValueObject with exceptions and validators
An example shared kernel project/package for use with Ardalis.CleanArchitecture template. You should probably replace this with your own package!
The `CloneMemberValue` module will help you to selectively `clone` Business object `members`.
A libary that provides serializer support for MongoDB for value objects.
A libary that provides serializer support for LiteDB for value objects.
A libary that provides serializer support for EF Core for value objects.
DotNetCore.Domain
This package contains a Souce Generator which generates Value Objects that wrap simple primitives such as int, string, double etc. A ValueObject is a strongly typed (strongly, not stringly) domain object that is immutable. Instead of `int customerId = 42;` we have `var customerId = CustomerId.From(42);` To use, just create something like this: [ValueObject(typeof(int))] public partial struct CustomerId { } var customerId = CustomerId.From(42); Validation is in just one place. You can't introduce bad objects into your domain, therefore you can assume that in your domain every ValueObject is valid.