我有一个如下的构造函数
public class Person : Animal
{
public Person(Settings settings) : base(settings.ActionProperty1)
{
}
}
public class Animal
{
public Animal(Action a)
{
}
}
public class Settings
{
public bool Flag { get; set; }
public Action ActionProperty1 { get; set; }
public Action ActionProperty2 { get; set; }
}
如何根据某些条件将基本构造函数传递给其他值。即类似以下内容。
public Person(Settings settings) : base(settings.flag ? settings.ActionProperty1 : settings.ActionProperty2)
{
}
上面给了我一个编译错误:CS0173无法确定条件表达式的类型,因为“方法组”和“方法组”之间没有隐式转换
此外,我无法通过在基类中添加属性设置器来解决此问题。我需要在对基的构造函数调用中做到这一点
编辑:答案在此处链接的第二个重复项中提供。 Type of conditional expression cannot be determined (Func)我必须将可选参数之一转换为动作。谢谢