Snippets tagged interop

  • Async SNTP client

    An asynchronous SNTP client that can retrieve the current time from an internet time server (such as and optionally update the local system clock to match. Demonstrates async UDP communication, bit-shifting, and native interop/PInvoke.

    13 people like this

    Posted: 13 years ago by Joel Mueller

  • Get COM instances from Running Object Table

    Type extensions for System.Activator which enable the retrieval of COM instances from the Running Object Table.

    1 people like this

    Posted: 13 years ago by Huw Simpson

  • Unmanaged memory search

    Useful for pinvoke stuff where your native API requires that you have a unmanaged buffer containing the data you want to work on. Edit: Changed native calls, removed Marshal.Copy (there is a async corner case but I won't delve into it here) and replaced with pinning.

    5 people like this

    Posted: 11 years ago by David Klein

  • Make option type usable in C#

    Using FSharpOption is painful from C#, but it doesn't have to.

    3 people like this

    Posted: 8 years ago by Gauthier Segay

  • Higher-Order Functions for Excel

    Some of the standard higher-order functions (like, Seq.iter, Seq.filter) but implemented for Excel interop. Effortlessly iterate across ranges of cells, reading them, updating them or formatting them. NB. Type-information won't be displayed correctly on fssnip (Office not installed on server presumably), so to get this working paste the code into VS, make yourself a spreadsheet with a range called 'MyRange' and use FSI to explore.

    2 people like this

    Posted: 1 year ago by Kit Eason

  • .NET Interop

    Facilities for interop with languages supporting null.

    4 people like this

    Posted: 13 years ago by Daniel Robinson

  • F# yet another Interop example

    Quick demo of using F# to interop with a native C library. C Library has not been checked for algorithm correctness (but works exactly as the origional).

    13 people like this

    Posted: 12 years ago by David Klein

  • Inverse Gamma function and Inverse Factorial by Approximation

    Inverse Gamma function and Inverse Factorial by Approximation based on these references:

    2 people like this

    Posted: 9 years ago by Fabio Galuppo

  • C#-Friendly Single-Case Discriminated Unions

    Single-case Discriminated Unions ( are a lightweight way to create types for important concepts in your domain. Unfortunately, there's a few gotchas when consuming from C# to be aware of. For one, if you use the `==` or `!=` operators in C#, it will do a reference comparison, which is almost certainly not what you want for these wrapper types. By overriding `op_Equality` and `op_Inequality`, this will force it to use a structural comparison. Secondly, when using string concatenation via `+`, `String.Format`, or string interpolation, C# will implicitly convert non-string arguments to a string via `ToString`. This means if you forget to use `.Item` to unwrap your value, you will not get a compiler error, it will just implicitly call `ToString`, which by default will look like this: `Id "c148b684-2c40-4383-a1b9-0e8f37752fd0"`. By overriding `ToString`, we can make sure it will look like the raw underlying type when converted to a string: `c148b684-2c40-4383-a1b9-0e8f37752fd0`.

    2 people like this

    Posted: 5 years ago by Justin Hewlett