如何生成参数未知的方法?

时间:2016-05-06 12:50:00

标签: c# code-generation

如何使用未知参数生成方法?

我使用output$tabel <-renderUI({ tabel1 <- matrix(c(1,2,3,4,5,6),2,3) list( renderTable(tabel1) ) }) 编译c#脚本:

Microsoft.CSharp.dll

所以,我需要添加一些函数,但是这个函数可以包含任意数量的参数和类型列表( CSharpCodeProvider provider = new CSharpCodeProvider(); CompilerParameters compilerParams = new CompilerParameters { GenerateExecutable = false, GenerateInMemory = true }; string scriptCode = GetFullCode(); //here i add usings and so on var results = provider.CompileAssemblyFromSource(compilerParams, scriptCode); DateTimeint等等)

应该像这样调用函数:

double

function(String,String,DateTime,int,...);

等等。

用户可以在代码中使用此功能。

如何生成此功能? 例如,我告诉我现在如何生成代码:

// GetFullCode:

function(DateTime,int,String,..);

1 个答案:

答案 0 :(得分:5)

这是一种具有可变参数量的方法

public static string funcion(params object[] Items)
{
    StringBuilder sb = new StringBuilder();
    foreach (var item in Items)
    {
        sb.Append(item);
    }
    return sb.ToString(); ;
}

这会将所有给定值添加到一个字符串中。

用法:string Result = funcion(DateTime.Now, "foo", 1);