= Use = Specify a namespace and its contents to make available to this module. == Grammar == {{{ use use from }}} When using the first form if the compiler cannot immediately locate the namespace [[BR]] (i.e if its not in the list of default loaded libraries)[[BR]] it will look for a (platform dependent) library-name of the same form as the namespace. For .Net thats the namespace with '.dll' appended {{{ #!cobra use Foo.Bar # On .Net will look for namespace in Foo.Bar.dll if not already available }}} If the filename of the library differs from the namespace, you can specify it with the second form. [[BR]] can be a simple identifier, qualified identifier (Foo.Bar) or a string literal. {{{ #!cobra use Foo.Bar from SomeLib }}} You can put single or double quotes around the file name if its components are not legal identifiers.[[BR]] (for example, the filename has a space or punctuation mark in it). {{{ #!cobra use Foo.Bar from "My Lib" }}} == Platform == On .Net will refer to a .Net Assembly or dll. No ".dll" extension is expected (or allowed) in any of this syntax. In .Net the list of default loaded libraries is: * System * System.Collections.Generic * System.IO * System.Text * Cobra.Core == Examples == {{{ #!cobra use System.Windows.Forms use System.Drawing }}} == Notes == In most cases this syntax means you dont need to specify the commandline -reference switch as the dll can be found through the common naming of the use target and the dll. With !MyProg.cobra containing ... {{{ #!cobra use Foo.Bar }}} Instead of compilation by {{{ cobra -reference:Foo.Bar MyProg.cobra }}} you can just say: {{{ cobra MyProg.cobra }}}