Открытый и набор фокусируются в Проводник Решения : Ctrl + Высокий звук + L
Type.GetType ("namespace.qualified.TypeName")
работает только тогда, когда тип найден либо в mscorlib.dll, либо в выполняющейся в данный момент сборке.
Если ни один из них все верно, вам понадобится имя с указанием сборки :
Type.GetType("namespace.qualified.TypeName, Assembly.Name")
Если на сборку есть ссылка и класс виден:
typeof(namespace.a.b.ClassName)
GetType возвращает null, потому что тип не найден, с помощью typeof компилятор может помочь вам найти ошибку.
Если это вложенный тип, вы можете забыть преобразовать файл. на +
Несмотря на это, typeof (T) .FullName
скажет вам, что вы должны сказать
EDIT: Кстати, использование (как я ' m, конечно, вы знаете) являются только директивами для компилятора во время компиляции и поэтому не могут повлиять на успешность вызова API. (Если у вас есть ссылки на проект или сборку, это потенциально могло иметь влияние - следовательно, информация бесполезна, она просто требует некоторой фильтрации ...)
Dictionary<string, Type> typeCache;
...
public static bool TryFindType(string typeName, out Type t) {
lock (typeCache) {
if (!typeCache.TryGetValue(typeName, out t)) {
foreach (Assembly a in AppDomain.CurrentDomain.GetAssemblies()) {
t = a.GetType(typeName);
if (t != null)
break;
}
typeCache[typeName] = t; // perhaps null
}
}
return t != null;
}