Subscribe to this thread
Home - General / All posts - M9 C# version?
rk
276 post(s)
#01-Jun-18 09:40

Is this a C# version thing that the following script won't compile inside M9? I can compile it into .dll with VS2017.

It uses C# 6.0 features such as string interpolation ($) and expression bodied members (=>)

// C#

class Script

{

static Manifold.Context Manifold;

static void Main()

{

 Manifold.Application.Log(Add_mfd_id("Test"));

 Manifold.Application.OpenLog();

}

static string Add_mfd_id(string tablename) => $@"

ALTER TABLE [{tablename}] (ADD [mfd_id] INT64); 

ALTER TABLE [{tablename}] (ADD INDEX [mfd_id_x] BTREE ([mfd_id]));

";

}

I get

[14:47] Unexpected character '$'

[14:44] ; expected

adamw


8,216 post(s)
#01-Jun-18 11:27

Yes, the built-in .NET class that we use to compile the script code does not support late versions of C# or other .NET languages, support for these late versions comes separately. The required modules are a bit of a headache to install and manage so while we have a wishlist item to add them, it has a fairly high cost and we didn't get to it yet. We will still add it in the future.

Manifold User Community Use Agreement Copyright (C) 2007-2017 Manifold Software Limited. All rights reserved.