I\'m working with WPF and often have the need to get the namespace and assembly name of a given class. But I don\'t know how to do this.
So, how can we get the name
You can use F# interative, just open the window (View -> Other Windows -> F# Interactive) and try the following:
> typedefof<System.Uri>.Assembly.FullName;;
val it : string =
"System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
There are a few assemblies referenced automatically like System. If you need to get the name from another assembly, you'll need to add the reference first (like the service model for example).
> #r "System.ServiceModel.dll";;
--> Referenced 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.ServiceModel.dll'
> typedefof<System.ServiceModel.ICommunicationObject>.Assembly.FullName;;
val it : string =
"System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
F# interative is part of Visual Studio 2010.
You could use the Visual Studio Immediate Window as a quick way to obtain the assembly qualified name for one of the solution projects.
IIRC, these steps should work:
typeof(ClassNameOfStep1).AssemblyQualifiedName
and press Enter.The Immediate Window depends on Design-Time Expression Evaluation which in turns depends of Visual Studio Hosting Process so you need to have it enabled, which by default already is.
Also, I did some quick tests and the Name of the class was sufficient in all cases except when I tried it on VS 2008, which required me to provide the FullName
of the type. So if Name
results in error use the Name
qualified with the namespace.
You need Object Browser
. Press Ctrl + Alt + J.
There you'll see all meta information of types.
These should give you what you're after:
var assemblyName = typeof(ClassNameGoesHere).AssemblyQualifiedName;
var namespaceOfClass = typeof(ClassNameGoesHere).Namespace;
I see you've just added a note to your question regarding "when browsing the classes in the Solution Explorer", the simple answer is that as far as I know, you can't because that's not what Solution Explorer is for (it's there for browsing the files in a solution, not what's contained inside them) and also because:
You may want to see if the "Class View" gives you what you want, but, I suspect it won't.