Question

Sorry if the question sounds confusing. My problem is that I am using the following:

var packageType = Type.GetType(className); 

I have checked very carefully that className is the fully qualified name of a type. I checked the className variable many times. But still when this is executed it gives packageType as null !

I know my class name is Product. Is there a way that I can get a string representation of the name so I can check to see if it compares exactly with the className string I am passing to the above.

Was it helpful?

Solution

You may need to provide the assembly qualified name. Note:

Type.GetType

Parameters: typeName

Type: System.String

The assembly-qualified name of the type to get. See AssemblyQualifiedName. If the type is in the currently executing assembly or in Mscorlib.dll, it is sufficient to supply the type name qualified by its namespace.

For example, if I am trying to get a type defined outside of the currently executing assembly, I could use Type.GetType as following:

var name = "CommonLibrary.ICommand, CommonLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null";
var type = Type.GetType(name);

If inside the executing assembly, I only need to qualify it via the namespace

var type = Type.GetType("CommonLibrary.ICommand");

OTHER TIPS

Yes: typeof(Product).FullName

You need to call this using an object e.g.

string str = "";
string type = str.GetType().ToString();

This will give you "System.String" in "type" variable

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top