是否有可能(最好不使用任何第三方库),创建一个函数,其类型是在C#中运行时确定的?功能参数类型在运行时确定?
e.g
public static void myfunc(var x)
{
System.Windows.Forms.MessageBox.Show(x); //just an example
}
注:我想运行来确定参数的类型,不想以后投的参数为另一种类型,如果我使用仿制药是必要的。 e.g我不想:
myfunc<T>(T x)
// and then :
MessageBox.Show((string)m);
更新: 我其实做一个功能解析器my programming language,转化为C#代码。用我的语言,我希望在运行时总是确定参数类型。我一直在寻找一些很好的C#特性以方便翻译。 e.g 在我的语言的语法:
function msg << x
MessageBox.Show x
end
需要翻译的东西,并没有要求一个类型在编译时间,但需要一个在运行时。 e.g
public static void msg(var x)
{
System.Windows.Forms.MessageBox.Show(x);
}
为什么当你真正指**参数**的类型时,你一直提及**类型的函数**? – Adam 2011-12-30 18:19:30
由于所有对象都实现'ToString()',所以你不需要这种转换。此外,如果您需要将字符串转换为字符串,那么该函数只需要一个字符串!一个有意义的例子将不胜感激。 – 2011-12-30 18:20:48
@codesparkle抱歉,我匆忙地输入了问题。 – ApprenticeHacker 2011-12-30 18:24:49