尝试用三元运算符替换if条件:
Namer n;
n = i > 0 ? new LastFirst(name) : new FirstFirst(name);
这是我遇到错误的地方:
由于'LastFirst'和'FirstFirst'之间没有隐式转换,因此无法确定条件表达式的类型
当我替换回“ If-else condition”时,它会起作用:
Namer n;
if (i > 0)
n = new LastFirst(name);
else
n = new FirstFirst(name);
从 Namer 基类派生的LastFirst,FirstFirst 类