私は単純化したいが、それぞれのイベントハンドラで異なるNetworkAdapter
オブジェクトのプロパティのために苦労している以下の非常に反復的なコードを持っています。次のコードはどのように簡略化できますか
どのような方法が最適ですか?理想的には、これはラムダ式なしで達成する必要があります。これを行うクライアントはC#の知識がほとんどなく、ラムダの量も少なく、コードが実行されたときにコードをサポートします。
private void textBoxNetworkSubnetMask_TextChanged(object sender, EventArgs e)
{
IPAddress.TryParse(textBoxNetworkSubnetMask.Text, out var ipAddress);
((NetworkAdapter)comboBoxNetworkCard.SelectedItem).SubnetMask = ipAddress;
wizardPageNetworkDetails.AllowNext = ValidateNetworkDetailsPage();
}
private void textBoxNetworkGateway_TextChanged(object sender, EventArgs e)
{
IPAddress.TryParse(textBoxNetworkGateway.Text, out var ipAddress);
((NetworkAdapter)comboBoxNetworkCard.SelectedItem).Gateway = ipAddress;
wizardPageNetworkDetails.AllowNext = ValidateNetworkDetailsPage();
}
private void textBoxNetworkPrimaryDns_TextChanged(object sender, EventArgs e)
{
IPAddress.TryParse(textBoxNetworkPrimaryDns.Text, out var ipAddress);
((NetworkAdapter)comboBoxNetworkCard.SelectedItem).PrimaryDns = ipAddress;
wizardPageNetworkDetails.AllowNext = ValidateNetworkDetailsPage();
}
壊れていない場合は、修正しないでください。なぜそれを簡素化したいのですか?それについては何も複雑なことはありません。クライアントがラムダを理解できない場合は、他のことを理解することはまずありません。 – DavidG
'私はまったく同じ問題を抱えている15-20個のイベントハンドラがあり、それらをすべて簡素化したいからです。 – cogumel0
代理人の辞書はおそらく? 1つの方法で巨大な 'switch' /' case '?あなたのクライアントは何ですか? – Sinatr