2013-03-11 58 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#編寫。