我正在研究F#代碼將被其他.NET項目使用的項目 - 所以我正在使用類。我創建了一個代碼文件是這樣的:F#引用類型
namespace StockApplication
open System
type Stock =
{Symbol: String;
DayOpen: Decimal;
Price: Decimal;
}
member x.GetChange() =
x.Price - x.DayOpen
member x.GetPercentChange() =
Math.Round(x.GetChange()/x.DayOpen,4)
這當我用C#編寫一些單元測試使用它工作正常。例如:
[TestMethod]
public void CreateStock_ReturnsValidInstance()
{
Stock stock = new Stock("TEST", 10, 10.25M);
Assert.IsNotNull(stock);
}
然後我去另一個類創建另一個文件。這個班級使用第一班,所以我確保它在VS2012中的原班級以下。當我創建下一堂課時,我可以通過intellisense看到它。
namespace StockApplication
open System
type StockTicker() =
member x.GetStock() =
StockApplication.Stock
然而,每一個attept要麼新的,或指它給了我同樣的錯誤:
Error 1 The value, constructor, namespace or type 'Stock' is not defined
有沒有人有任何見解,爲什麼我不能只是單純的新一輪上漲,我創建了一個類F#在另一個F#文件中?
在此先感謝。
'StockTicker'與'Stock'在同一個命名空間嗎?我發現奇怪的是,你沒有在'StockApplication'上獲取錯誤,而不是'Stock'。如果它們共享,則不需要引用該命名空間。 – mydogisbox