c# - 参数可以通用访问吗?

标签 c#

我有很多看起来像这样的函数。每个都有 N 个参数,每个都创建一个 SQLparamater 数组,每个参数都具有这种非常相似的形式。

[WebMethod]
public static string accessServer(string dataField1, string dataField2, string dataField3) {
    string value;
    SQLParamater[] param = new SQLParameter[len] // len is the amount of arguments
    param[0] = new SQLParameter("@dataField1", dataField1);
    param[1] = new SQLParameter("@dataField2", dataField2);
    param[2] = new SQLParameter("@dataField3", dataField3);
    ...

    // do something with param

    return value;
}

这看起来可以通过结合使用反射和以通用方式访问参数来通用地完成。

理想情况下是一种形式的方法

public static SQLParamater[] getParams(someType paramaters)

SQLParamater[] param = getParams(...)

我不确定如何通用地传递所有参数。

[编辑]

请注意,这些数据字段的名称很重要。它不仅仅是一个字符串数组,而是一组键/值对。

[/编辑]

最佳答案

您可以使用带有可变参数的函数:name(params string[] arguments),这样您就可以调用,例如:name(arg1,arg2,arg3,arg4);

关于c# - 参数可以通用访问吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4792369/

相关文章:

c# - "Hello world"应用程序在 .NET4.0 中使用 4 个线程,但在 .NET2.0 中使用 3 个

c# - 如何在 System.Byte 上使用 MiscUtil.Operator?

c# - WPF - 边框和文本 block - 奇怪的行为

c# - xamarin android 按钮点击不起作用

c# - 如何摆脱 GridView UWP 的框选择边框

c# - 从 Microsoft Visual Web Developer 2008 连接到 MySQL

c# - Python 的 'in' 运算符相当于 C#

c# - 从剪贴板保存 PNG 时出现黑色图像

C# Entity Framework Linq : Select Where If/Else

c# - 模式匹配优先于引用还是值相等?