DuckType.Core
1.0.9
dotnet add package DuckType.Core --version 1.0.9
NuGet\Install-Package DuckType.Core -Version 1.0.9
<PackageReference Include="DuckType.Core" Version="1.0.9" />
<PackageVersion Include="DuckType.Core" Version="1.0.9" />
<PackageReference Include="DuckType.Core" />
paket add DuckType.Core --version 1.0.9
#r "nuget: DuckType.Core, 1.0.9"
#:package DuckType.Core@1.0.9
#addin nuget:?package=DuckType.Core&version=1.0.9
#tool nuget:?package=DuckType.Core&version=1.0.9
DuckType Library
Overview
The DuckType Library is designed to enable "duck typing" in .NET, allowing objects to be dynamically cast to interfaces with compatible methods and properties. It also introduces a "smart" object mechanism, which enhances objects with additional behaviors, validation, and default implementations.
This library is primarily intended for scenarios where interfaces must be dynamically applied to objects that do not explicitly implement them, enabling more flexible coding practices without needing concrete implementations. It also supports validation and behavior customization through "smart" objects, making it suitable for more advanced scenarios requiring enhanced property management.
Getting Started
Installation
Add the library to your project.
dotnet add package DuckType
Basic Usage
See https://github.com/StijnVA/DuckType/wiki for the getting started
Acknowledgement
The heavy lifting was already been done by Castle.Core.
Contributing
We welcome contributions!
License
This library is released under the MIT License. See LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Castle.Core (>= 4.4.1)
- DuckType.Internals (>= 1.0.9)
- Microsoft.CSharp (>= 4.7.0)
- System.Dynamic.Runtime (>= 4.3.0)
- System.Security.Permissions (>= 4.7.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on DuckType.Core:
| Package | Downloads |
|---|---|
|
DuckType.Adaptors.FluentValidation
Package Description |
|
|
DuckType
Package Description |
|
|
DuckType.Extensions
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.