Moduły v. Przestrzenie nazw w F #
Mam bibliotekę napisaną w języku F #, używaną przez C # i F #. ta biblioteka definiuje klasęfoo
, w modulebar
, w przestrzeni nazwrandom
:
#light
namespace random
module bar
type foo() = ...
Teraz, kiedy idę do konsumowania typurandom.foo.bar
, C # intellisense widzi to jako typbar
, zagnieżdżone w typierandom.foo
.
Pytanie brzmi: czy C # ma przewagę nad definiowaniem kodu zużywalnego zewnętrznie w modułach, a nie w przestrzeniach nazw? Rozumiem, że moduły są dobrym sposobem na grupowanie funkcji, ale co z klasami?