あなたはobject initializer表現を使用することができます
SqlParameter[] parameters =
{
new SqlParameter("@first_name", SqlDbType.VarChar, 50) { Value = to.FirstName },
new SqlParameter("@last_name", SqlDbType.VarChar, 50) { Value = to.LastName },
new SqlParameter("@middle_name", SqlDbType.VarChar, 50) { Value = to.MiddleName },
new SqlParameter("@empid", SqlDbType.Int) { Value = to.EmpId }
};
をあなたもしばしば好まれるのと同じ方法でリストを作成することができます。
を
List<SqlParameter> parameters = new List<SqlParameter>
{
new SqlParameter("@first_name", SqlDbType.VarChar, 50) { Value = to.FirstName },
new SqlParameter("@last_name", SqlDbType.VarChar, 50) { Value = to.LastName },
new SqlParameter("@middle_name", SqlDbType.VarChar, 50) { Value = to.MiddleName },
new SqlParameter("@empid", SqlDbType.Int) { Value = to.EmpId }
};
に拡張メソッドを記述することもできます:
public static SqlParameter WithValue(this SqlParameter parameter, object value)
{
parameter.Value = value;
return parameter;
}
次に、このようにそれを使用します。
List<SqlParameter> parameters = new List<SqlParameter>
{
new SqlParameter("@first_name", SqlDbType.VarChar, 50).WithValue(to.FirstName),
new SqlParameter("@last_name", SqlDbType.VarChar, 50).WithValue = to.LastName)
new SqlParameter("@middle_name", SqlDbType.VarChar, 50).WithValue(to.MiddleName),
new SqlParameter("@empid", SqlDbType.Int).WithValue(to.EmpId)
};
まさに私が探していたものです。私はオプション3を検討しましたが、私が思いついたものは好きではありませんでした。ありがとう! –
@Jon Skeetあなたの投稿が非常に役に立ちましたが、現在私はFramework 2.0で作業しています。 "ISO-2 C#言語仕様の一部ではないため、Feature Object Initializerを使用できません。プロジェクトをアップグレードすることはできませんので、効率的な方法があります。 –
@RahulNikate: .NET 2.0を使用しているからといって、C#の新しい機能を使用することはできません。たとえば、Visual Studio 2013を使用して.NET 2.0をターゲットにすることができます。 –