我有一个方法接受两个参数,现在我需要传递一个额外的参数,但所有其他调用此代码的代码可能不会传递第三个参数。下面是一个丑陋的黑客,但我只是不熟悉重载的过程,我们被困在.NET 2.0,所以虽然这工作,我不禁感到它的错误。有没有办法在2.0中做C#4.0可选参数?
public static void AddPlanFunds(ParticipantResultsPlan planNode, Plan plan)
{
AddPlanFunds(planNode, plan, -1);
}
public static void AddPlanFunds(ParticipantResultsPlan planNode, Plan plan, int participantId)
{
planNode.PlanFunds = new CommonPlanFunds();
// Add single class funds
AddSingleClassFunds(planNode.PlanFunds, plan);
// Add portfolios
AddPortfolios(planNode.PlanFunds, plan,participantId);
}
我应该怎么做超负荷?
谢谢!
请注意,C#可选参数几乎没有用处/严重受限......它们必须是常量。 String.Empty不起作用。 DateTime.MinValue/DateTime.MaxValue/Int32.MinValue/...不起作用。我爱他们正好5分钟:-) – xanatos 2011-02-15 19:28:44