The case is I have the following class, for example:

```
public class SendFile
{
     public SendFile(Uri uri) { /* some code here */ }
     public SendFile(string id) { /* some code here */ }
}

```

Then, We know that if I want to resolve the constructor, I can't do it likes the following:

```
// some string defined which are called "address" and "id"
var sendFile = new SendFile(String.IsNullOrEmpty(address) ? id : new Uri(address));

```

My question is *How can I resolve this issue in a clean way, without creating an "if" branch in the code?* likes the following:

```
SendFile sendFile;
if(String.IsNullOrEmpty(address))
{
     sendFile = new SendFile(id);
}
else
{
     sendFile = new SendFile(new Uri(address));
}

```