namespace Myspace { public class MyClass { } } //This class is in another file. using Myspace; static void Main(string[] args) { Regex regexViewModelKey = new Regex(RegularExpr.ViewModelKeyPattern); string viewModel = regexViewModelKey.Match(match.Value).Value; //Now, vieModel is a string, and its value is "MyClass". So, I only know the class name, this is why I ask this question. //Now, I'm only allowed to use the string form of this class name to get its type. //I have tyied like this, but its no use. Type t = Type.GetType(viewModel); //it's return a null. //Then I tyied another method like this, but there is an exception when calling Assembly.Load Assembly assembly = Assembly.Load("Myspace"); Type ty = assembly.GetType("Myspace" + viewModel); }
I hope my question is clear. Can any one help me.THX I'm only allowed to use the string form of this class name to get its type.
thx everyone. I have solved this question by myself like this.
{ Type t = Type.GetType(string.Concat(viewModel, ",", "Myspace")); }
The GetType() method of array class in C# gets the Type of the current instance (Inherited from Object). To get the type. Type tp = value. GetType();
The simplest way is to call the getClass() method that returns the class's name or interface represented by an object that is not an array. We can also use getSimpleName() or getCanonicalName() , which returns the simple name (as in source code) and canonical name of the underlying class, respectively.
just use the function typeof(). The parameter is just that class name.
Type type = typeof(FIXProtoClientTest);
MSDN on typeof()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With