我的项目在 VS2012 中使用 .Net 4.5。
我的班级中有以下重载方法:
public SalesOrder GetSalesOrder(int salesOrderID, bool forceRefresh = false)
{
using (iSeriesUOW uow = new iSeriesUOW())
{
return GetSalesOrder(uow, salesOrderID, forceRefresh);
}
}
public SalesOrder GetSalesOrder(iSeriesUOW uow, int salesOrderID, bool forceRefresh = false)
{
.... do some stuff here
}
我正在尝试使用以下方法调用第一种方法:
public void PopulateModel(string companyCode, int salesOrderID, bool forceRefresh)
{
SalesOrders blSalesOrders = new SalesOrders(companyCode);
SalesOrder salesOrder = blSalesOrders.GetSalesOrder(salesOrderID, forceRefresh);
... Other code here
}
编译器在我的 GetSalesOrder 调用中给了我一个错误:
The type 'DataAccess.iSeriesUOW' is defined in an assembly that is not referenced. You must add a reference to assembly 'Viper.DataAccess, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
如果我删除 GetSalesOrder 中的 forceRefresh,它编译得很好。
我在想它试图调用第二个 GetSalesOrder 重载,但我不知道为什么,因为 (int, bool) 的签名显然在那里。
有任何想法吗?