vereinfacht werden habe ich folgenden sehr repetitiven Code, den ich vereinfachen möchte, aber Kampf wegen der Eigenschaft des NetworkAdapter
Objekts, das auf jedem des Event-Handler unterscheidet.Wie kann der folgende Code
Was ist der beste Weg, es zu tun? Im Idealfall sollte dies ohne Lambda-Ausdrücke erreicht werden, wie der Client ich für wenig Verständnis von C# tue dies bin und noch weniger von Lambda und sie würden den Code unterstützen, wenn dies geschehen ist.
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();
}
Wenn es aint brach, repariere es nicht. Warum willst du es vereinfachen? Es gibt nichts Kompliziertes daran, und wenn Ihr Kunde Lambda nicht verstehen kann, werden sie wahrscheinlich nichts anderes verstehen, was Sie damit tun. – DavidG
denn ich habe noch 15-20 Event-Handler, die jetzt von dem exakt gleichen Problem leiden und möchten sie alle vereinfachen. – cogumel0
Ein Wörterbuch mit Delegierten vielleicht? Ein riesiges 'switch' /' case' in einer Methode? Wofür steht Ihr Kunde? – Sinatr