2013-03-11 57 views
0

我想创建一个public static int Sum(int a, int b){ return 0; }(在C#中,而不是nemerle)函数,它将在.n文档(不是外部dll)中,并且对于nemerle代码是可见的。如何做这样的事情? (无法在网上找到示例)如何用带参数的C#函数扩展Nemerle?

回答

3

Nemerle允许使用关键字中的类名作为导入静态类方法。

module Functions { 
    public Sum(a : int, b : int): int { a+b } 
} 

// or 
class Functions2 { 
    public static Mul(a : int, b : int): int { a*b } 
} 

using Functions; 
using Functions2; 
using System.Console; 

module Program 
{ 
    Main() : void 
    { 
    WriteLine(Sum(2, 3)); 
    WriteLine(Mul(4, 5)); 
    } 
} 
+0

问题是,如果有可能在C#语言的Nemerle文件中编写C#代码而不是Nemerle? – DuckQueen 2013-03-12 10:43:51

+0

哦,对不起,我的英语不好。简单 - 不。 Ncc使用file extnesion为整个文件选择正确的解析器。但是您可以为内联C#代码创建宏,并通过C#解析器手动解析它。 – Ziav 2013-03-12 13:52:33

+0

只需将your.cs文件添加到项目中即可。 – 2013-03-13 18:19:16

1

不,你可以创建一个部分类。该类的一部分可以用Nemerle编写,其他用C#编写。