Robert Reid
Robert Reid

Reputation: 425

Assembly name from namespace string

Is there a way of getting the assembly name from a namespace string? Eg, get "mscorlib" from "System".

The reason for my question is I'm creating Boo scripts method-by-method and am required to add namespaces programmatically. The resulting string in Boo would read:

import System from mscorlib

I could obviously pass in a collection of import strings, but if I can just pass a list of references, that would be far more scalable!

Many thanks

Upvotes: 5

Views: 3038

Answers (2)

Paolo Tedesco
Paolo Tedesco

Reputation: 57172

You can get it from a type:

Console.WriteLine(typeof(System.Object).Module.Name);

About the namespace, remember that more than one assembly could define the same namespace.

Upvotes: 2

Mehrdad Afshari
Mehrdad Afshari

Reputation: 421968

Assembly names and namespace names are totally orthogonal concepts. There are no real relations between them. Short of examining a set of known assemblies to see what namespaces they contain, there's no real way to get assembly name from namespace name. For instance, what would you do if two assemblies (both mscorlib and System.Core) declared a type in the System namespace?

Upvotes: 6

Related Questions