<分区>
我想返回一个对象,但作为基础继承接口(interface)。 IMasterData 和 IGetValues 由其他项目共享,因此我不太确定我可以进行多少更改。代码是这样的:
public class WithData : IBasicData
{
public string prop1 { get; set; }
public string prop2 { get; set; }
public string prop3 { get; set; }
public string prop4 { get; set; }
}
public interface IBasicData: IMasterData
{
string prop3 { get; set; }
string prop4 { get; set; }
}
public interface IMasterData
{
string prop1 { get; set; }
string prop2 { get; set; }
}
public interface IGetValues
{
IMasterData FillValues(someType element)
}
public class MyClass : IGetValues
public IMasterData FillValues(someType element)
{
var u = new WithData
{
prop1 = element.value1,
prop2 = element.value2,
prop3 = element.value3,
prop4 = element.value4
};
return u;
}
我在 return u 中收到一个错误,说它无法将对象 WithData 转换为返回类型 IMasterData。由于继承链,我认为这是可能的。如何返回 IMasterData 类型的对象?