Я новичок в использовании Reflection, но пытаюсь понять поведение GetType ()
У меня есть следующее:
assembly = Assembly.LoadFile(@"D:\ObjectRelations.dll");
Type type = assembly.GetType("ObjectRelations.JSHierarchyBuilder");
MethodInfo[] methods = type.GetMethods();
try
{
foreach (MethodInfo method in methods)
{
.... List Some info, etc.
}
}
catch ...
Хотя это дает ожидаемый результат для того, что содержится в моей сборке, используя альтернативу
Type type = assembly.GetType();
Дает мне методы, связанные с Reflection Assembly, а не с Assembly, которая обозначена в методе LoadFile, что на самом деле не то, что я ожидал или считал бы практическим поведением; иначе зачем мне вообще нужен какой-либо файл для загрузки, если тип возвращаемого значения будет типом Reflection Assembly. Как-то странно для меня.
Во всяком случае, если это правильно; и увидев, что мой первый пример сработал так, как задумано. Тогда как можно получить какую-либо информацию, например «Методы» сборки, без точного знания пространства имен и / или имени класса сборки, которое может отличаться от имени сборки?
Я предполагаю, что Reflection должен позволить вам изучить этот тип информации, даже если у вас нет предвидения того, что находится под капотом сборки, и что динамический аспект создания объектов во время выполнения не является "единственным" преимуществом.
Может ли кто-нибудь излагать плз? Или я все об этом говорю не так.