Ich habe diese if-else
Anweisung, die was ich will. Was es macht, ist ziemlich einfach, wie Sie in der Lage sein sollten, zu erzählen.Neatest/idiomatische Art und Weise dies neu zu schreiben Wenn in C#
if (width != null && height != null)
{
if (top != null && left != null)
{
ret.type = VMLDimensionType.full;
}
else
{
ret.type = VMLDimensionType.size;
}
}
else
{
if (top != null && left != null)
{
ret.type = VMLDimensionType.positon;
}
else
{
ret.type = VMLDimensionType.unset;
}
}
Die enum
bezeichnet wird, ist:
private enum VMLDimensionType
{
unset = 0,
full = 1,
size = 2,
position = 3
}
Es ist so einfach, das ich bin sicher, dass es eine viel mehr terse ist und lesbare Weise, dies auszudrücken.
NB Wenn es nicht für die lächerliche Regel "ein Klammer pro Zeile" wäre, die VS standardmäßig vorgibt, würde ich wahrscheinlich nicht so belästigt werden. ZB in VB könnte ich ungefähr 10 Zeilen von diesem Codeblock verlieren! (Alle Gedanken auf, dass als Nebenwirkung?)
Wenn ich es nicht verzählt habe, würde die VB.NET Version 7 Zeilen kürzer sein, eine Version ohne Klammern 12 Zeilen. – Bobby
Können Sie die 'VMLDimensionType'-Enumeration posten? Es könnte einfacher sein, wenn es ein Flags enum wäre. – Ani
@Bobby Correctomundo :) –