У меня есть два файла dll. Скажем, DataLayer.dll и ProcessLayer.dll. DataLayer.dll имеет класс с именем MyClass, как показано ниже:Чтение данных типа из ссылочной dll/сборки
public class MyClass
{
public string name;
public int age;
public string aadhar;
}
и я судил DataLayer.dll во второй сборке ProcessLayer.dll, который имеет один метод с входным параметром в качестве MyClass.
using DataLayer;
namespace ProcessLayer
{
public class Process
{
public int GetMyClass(MyClass objMy)
{
return objMy.age;
}
}
}
Как я могу прочитать все параметры метода от ProcessLayer.dll
используя отражение? Я использую
Assembly assembly = Assembly.LoadFile(@"C:\ProcessLayer.dll");
foreach (Type _type in assembly.GetTypes())
{
foreach (var method in _type.GetMethods())
{
var parameters = method.GetParameters();
}
}
и получил ошибку при попытке выполнить method.GetParameters();
заявление.
Не могли бы вы помочь мне?
как получить его с помощью Mono.cecil любой идеи?
Какую ошибку вы получаете с помощью метода method.GetParameters() '? – niksofteng
Got «Не удалось загрузить файл или сборку DataLayer, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null» или одну из его зависимостей. Система не может найти указанный файл ». in error –
Никогда, * никогда *, ** никогда ** не используйте LoadFile(). В этом случае должна выполняться обычная Load(). Используйте LoadFrom(), если вы действительно хотите указать путь. Надеюсь, вы этого не сделаете, ничего хорошего не произойдет, когда вы начнете загружать сборки из корневого каталога. –