One example of using the DLR in C# is as follows:
dynamic dyn = new MyObject(); dyn.MyMethod(); //resolved at runtime
what would be the equivalent in F#?
Thanks.
The ?
operator has similar expressive power to the dynamic
keyword in C# (but it can be only used for reading of properties, method invocation and setting of properties).
There is no built-in implementation that would allow you to dynamically use properties or methods of a .NET class (via Reflection or DLR), but there are some fairly solid implementations from the community. This has been discussed in another SO question before.
There are also implementations of ?
that allow you access some common data sources such as SQL databases. For example, this MSDN article includes a definition that allows you to write db?Query?Foo(1)
to call a stored procedure named Foo
.
For various other types (such as finding an element in XAML or accessing elements or attributes in XML document), the definition of ?
is quite easy to write.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With