Я выполняю загрузку сборки во время выполнения, но я не знаю имен каких-либо классов или методов. Я не хочу перечислять все классы в моей сборке с их объявленными методами, а не унаследованные от System.Object.
Это код:
string str = "";
Assembly assembly = Assembly.LoadFile(@"c:\components.dll");
foreach (Type type in assembly.GetTypes())
{
if (type.IsClass == true)
{
str += type.Name + "\n";
MethodInfo[] methodInfo = type.GetMethods(BindingFlags.DeclaredOnly);
foreach (MethodInfo mi in methodInfo)
{
str += "\t" + mi.Name + "\n";
}
}
}
MessageBox.Show(str);
Это компоненты.dll:
public class component01
{
public string myName = "component01";
public string getMyName()
{
return myName;
}
}
public class component02
{
public string myName = "component02";
public string getMyName()
{
return myName;
}
}
Результат:
component01
component02
And if i remove the bindingflag:
component01
getMyName
ToString
Equals
GetHashcode
GetType
component02
getMyName
ToString
Equals
GetHashcode
GetType
Мне нужен только показанный getMyName
метод.