MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Mathlink and C#


At 05:53 AM 2/20/2004, Thomas Manz wrote:
>Hi!
>
>Some time ago I programmed a own procedure in C and used it in 
>Mathematica, what worked very well.
>Now I would be interested in using C# but I can´t find a simple example 
>neither for the Mathematca worksheet (which should be simple?) nor for a 
>C# source code. I would expect something like adding two numbers, i. e. 
>calling a procedure "mysum[2,3]" and getting 5.
>The examples in the Mathematica installation (changing the process 
>priority of the Mathkernel.exe) isn´t that what I would call simple!!
>
>Does anyone have more information or even an example!
>
>Best regards
>Thomas Manz


Thomas,

If you look in the Help Browser under the Add-ons & Links tab, you will 
find the .NET/Link User Guide, which contains some simple examples. The 
example notebooks you found are intended to be more significant 
"real-world" examples that go beyond the fragments that are used in the 
User Guide.

If you have a C# class "Foo" with a static method like this:

     public static int mysum(int i, int j) { return i + j; }

Here is how you call it from Mathematica. First make sure .NET/Link is 
loaded and running:

     <<NETLink`
     InstallNET[]

Now load your assembly and the Foo class:

     LoadNETAssembly["c:\\path\\to\\fooassembly.dll"]
     LoadNETType["Foo"]

Call the mysum function:

     Foo`mysum[2, 3]

That's it.

If the method isn't static, use NETNew to create a new instance of the Foo 
class, and call the mysum method on the object:

     foo = NETNew["Foo"];
     foo@mysum[2, 3]



Todd Gayley
Wolfram Research



  • Prev by Date: Re: Bernoulli variable algebra
  • Next by Date: i dont understand module.
  • Previous by thread: Re: Mathlink and C#
  • Next by thread: Chebyshev's Identity