Miért ocsmány? Erre a problémára ez a jó megoldás, nem a konstruktor hekkelése, ami egyébként is elég ingoványos terület.
Viszont ha még a gyártófüggvényben elkapod a kivételt, akkor nem sok értelme van szerintem try-catch-et használni, főleg nincs mindenképpen létrehozni a példányt.
public static ConditionalObject CreateInstance (string name)
{
return (name == null || name.Length == 0) ? null : new ConditionalObject();
}
Oszt jónapot.