如何在F#中編寫以下C#代碼?F#中的重寫構造函數#
namespace Shared {
public class SharedRegistry : PageRegistry {
public SharedRegistry(bool useCache = true)
: base(useCache) {
// Repositories
ForRequestedType<IAddressRepository>().TheDefaultIsConcreteType<SqlAddressRepository>();
ForRequestedType<ISharedEnquiryRepository>().TheDefaultIsConcreteType<SharedEnquiryRepository>();
// Services
ForRequestedType<IAddressService>().TheDefaultIsConcreteType<AddressService>();
ForRequestedType<ISharedEnquiryService>().TheDefaultIsConcreteType<SharedEnquiryService>();
}
}
}
由於是據我已經成功,但我不能工作了,同時宣佈爲我自己的默認構造函數從PageRegistry
繼承。
type SharedRegistry(useCache: bool) =
inherit PageRegistry(useCache)
new() = new SharedRegistry(true)
豐富
我有「do」和「new」行錯誤的方式。謝謝你的幫助。 – kim3er 2010-04-02 14:11:34
我必須做的唯一修正是將它們返回類型時,將它們包裝在Ignore()方法中。 – kim3er 2010-04-02 18:12:27
@ kim3er - 是的,如果您調用返回值的函數,那麼您需要忽略它。在調用之後使用'|> ignore'可能比將ignore放在'ignore(...)'中更習慣於使用'ignore>,但這些方法的命名非常詳細,以至於這兩個選項看起來都不那麼好。 – kvb 2010-04-02 18:21:01