所以我有一个叫FunBond
类型,像这样如何将抽象类作为参数传递给类型的实例?
public FunBond(int id,
string name,
Currency currency,
double notional,
DateTime maturityDate,
List<CashFlowWithDate> couponCashFlows,
DayCounter dayCounter)
: base(id, name, notional, InstrumentType.FixedRateBond, currency, maturityDate, dayCounter)
{
...
}
而且DayCounter
默认构造函数是一个抽象类
public abstract class DayCounter
{
public abstract string Name();
public abstract double YearFraction(DateTime d1, DateTime d2);
public abstract int DayCount(DateTime d1, DateTime d2);
}
现在的问题是,我究竟应该提供一个DayCounter
生成一个FunBond
的实例?我可以指定ID,名称,货币等等等作为参数传递给FunBond
,但DayCounter
应该是什么?我不能创建它的一个实例,我不能提供任何我不认为的......我想我需要从我的抽象类派生出来的另一个类提供给FunBond
,所以我想我误解了一些东西从根本上。
您需要检查哪些类型来自'DayCounter',它们是您可以分配的实例类。或者,API可能需要从DayCounter派生并提供实现。不确定,因为没有足够的上下文。 –
@YuvalItzchakov嗯,这是我的想法,但我没有碰过C#一段时间,所以我想我一定要疯了。谢谢! – HavelTheGreat