आप इस तरह एक विस्तार विधि का उपयोग कर सकते हैं:
public static class DbCommandExtensions
{
public static void AddInputParameters<T>(this IDbCommand cmd,
T parameters) where T : class
{
foreach (var prop in parameters.GetType().GetProperties())
{
object val = prop.GetValue(parameters, null);
var p = cmd.CreateParameter();
p.ParameterName = prop.Name;
p.Value = val ?? DBNull.Value;
cmd.Parameters.Add(p);
}
}
}
फिर इसे इस तरह से कॉल करें:
cmd.AddInputParameters(new { a = textBox1.Text, b = TextBox2.Text, /* etc */ });
मैंने बिना किसी समस्या के कुछ परियोजनाओं में इसका उपयोग किया है।