如您所知,C# 9.0 (.Net 5) 现在允许协变返回。我需要帮助将其应用于一组具有自动实现属性的类。
我有两个代表金融银行账户和交易的抽象类。我将它们抽象化,因为我将从各种数据源中提取数据,虽然主要属性在所有源中都是通用的,但每个源可能有我想要保留的其他字段。两个类之间存在一对多关系(1 个帐户有许多交易,并且 1 个交易仅属于 1 个帐户)。
public abstract class BankAccount
{
public string Name { get; set; }
public IList<Transaction> Transactions { get; set; } = new List<Transaction>();
...
}
public abstract class Transaction
{
public string Name { get; set; }
public virtual BankAccount BankAccount { get; set; } // This doesn't work unless I remove set;
...
}
Run Code Online (Sandbox Code Playgroud)
这是具体实现的示例
public class PlaidBankAccount : BankAccount
{
public string PlaidId { get; set; …Run Code Online (Sandbox Code Playgroud)