Я пытался рефакторинг этого
class AClass
{
string Property1 { get; set; }
string Property2 { get; set; }
string Property3 { get; set; }
void AMethod(AClass other)
{
if(String.IsNullOrEmpty(this.Property1))
{
this.Property1 = other.Property1;
}
if(String.IsNullOrEmpty(this.Property2))
{
this.Property2 = other.Property2;
}
if(String.IsNullOrEmpty(this.Property3))
{
this.Property3 = other.Property3;
}
}
}
И единственное, что я мог придумать, было
private string GetFirstNotNullOrEmpty(string first, string second)
{
if (String.IsNullOrEmpty(first))
{
return second;
}
return first;
}
и
this.Property1 = GetFirstNotNullOrEmpty(this.Property1, other.Property1);
Что не совсем эквивалентно, но сделает работу. Есть ли лучший способ реорганизовать это?