How would I write the following C# code in 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>();
}
}
}
As is as far as I have managed, but I can’t work out to inherit from PageRegistry at the same time as declaring my own default constructor.
type SharedRegistry(useCache: bool) =
inherit PageRegistry(useCache)
new() = new SharedRegistry(true)
Rich
I’m not sure that I understand your question; what you’ve written above looks like it ought to work fine. If you’re asking where to put the rest of the constructor logic, try this:
If you want to define each constructor individually, you can do that too:
Or, you could use an optional argument to your main constructor: