如何在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