Я хочу вызвать метод DLL через отражение (не могу быть уверен, что загружена другая dll), но у меня проблемы с параметрами.
Метод, который я хочу вызвать:
public void Add(DBTable table, String sField, DBValue value, SQLConditionType type)
в проекте MP-TVSeries
Я пытался сделать следующее:
// WindowPlugins.GUITVSeries
Assembly MPTVSeries = Assembly.Load("MP-TVSeries");
Type sqlConditionType = MPTVSeries.GetType("WindowPlugins.GUITVSeries.SQLCondition");
Type sqlConditionTypeEnumType = MPTVSeries.GetType("WindowPlugins.GUITVSeries.SQLConditionType");
Type dbEpisode = MPTVSeries.GetType("WindowPlugins.GUITVSeries.DBEpisode");
// SQLCondition sql = new SQLCondition();
object sql = Activator.CreateInstance(sqlConditionType);
// sql.Add(new DBEpisode(), DBEpisode.cFilename, filename, SQLConditionType.Equal);
sqlConditionType.InvokeMember("Add",
BindingFlags.InvokeMethod | BindingFlags.Instance | BindingFlags.Public,
null,
sql,
new object[] {
Activator.CreateInstance(dbEpisode),
dbEpisode.GetField("cFilename"),
filename,
sqlConditionTypeEnumType.GetField("Equal")
});
, но это вызывает исключение с сообщением
Не удалось найти метод "WindowPlugins.GUITVSeries.SQLCondition.Add".
Я предполагаю, что я что-то не так с параметрами, но я совершенно новыйк размышлению, я не могу обойти это.
Кто-то, пожалуйста, помогите; -)