다른 프로젝트에서 F # 코드를 사용하는 프로젝트에서 작업 중이므로 클래스를 사용하고 있습니다. 나는 C#으로 작성된 일부 단위 테스트에서 소비 할 때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)
이 잘 작동 :이 같은 코드 파일을 만들었습니다. 예 :
[TestMethod]
public void CreateStock_ReturnsValidInstance()
{
Stock stock = new Stock("TEST", 10, 10.25M);
Assert.IsNotNull(stock);
}
다른 클래스로 다른 파일을 만들었습니다. 이 클래스는 1 클래스를 사용하므로 VS2012의 원래 클래스 아래에 있는지 확인했습니다. 다음 수업을 만들었을 때 나는 인텔리 센스를 통해 그것을 볼 수 있습니다. 그러나
namespace StockApplication
open System
type StockTicker() =
member x.GetStock() =
StockApplication.Stock
에 모든 attept 중 새 것이거나 나에게 같은 오류가 있습니다 참조 :
Error 1 The value, constructor, namespace or type 'Stock' is not defined
은 다른 사람이 어떤 통찰력을 가지고 있습니까 왜 내가 할 수있는 I에서 만든 최대 단순히 새로운 클래스 다른 F # 파일에서 F #?
미리 감사드립니다.
'StockTicker'는'Stock'와 동일한 네임 스페이스에 있습니까? 나는'Stock'보다는'StockApplication'에 오류가 발생하지 않는다는 것이 이상하다는 것을 알게되었습니다. 네임 스페이스를 공유하는 경우 네임 스페이스를 참조 할 필요가 없습니다. – mydogisbox