FSharp.Interop.Dynamic
The F# Dynamic Operator, powered by the DLR. Compiled for .NET Standard 2.0, .NET Standard 1.6, .NET Framework 4.5
Install from NuGet
1:
|
|
Build Status
Platform |
Status |
---|---|
Nuget Deployment |
|
Mac/Linux/Windows |
|
Coverage |
Bleeding edge feed on MyGet
Usage
target?Property
, target?Property<-value
, and target?Method(arg,arg2)
allow you to dynamically get/set properties and call methods
Also Dyn.implicitConvert
,Dyn.explicitConvert
, comparison operators and more.
Examples:
System.Dynamic
1: 2: 3: 4: |
|
MVC ViewBag
1:
|
|
Dynamitey
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: |
|
Python Interop
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: |
|
SignalR (.net framework version)
1: 2: 3: 4: 5: |
|
Caveats:
The DLR
is incompatible with interface explicit members, so are these operators, just like C#'s dynamic
keyword.
.NET Core 2.0.0 to 2.0.2 had a major bug in the C# dynamic keyword with nested classes inside of generic classes.. You will know it from a substring argument length exception. .NET Framework 4.0+, .NET Core 1.x and .NET Core 2.0.3+ and later are unaffected.
Maintainer(s)
The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)
namespace FSharp
--------------------
namespace Microsoft.FSharp
val seq : sequence:seq<'T> -> seq<'T>
--------------------
type seq<'T> = System.Collections.Generic.IEnumerable<'T>
from FSharp.Interop.Dynamic
val string : value:'T -> string
--------------------
type string = System.String