0
Так что я вызываю метод из своей dll, используя это.Метод Invokemember не может вызвать метод под открытым статическим классом
string sp = "dynamicmethodname";
Type TypeObj = typeof(DLLclass);
Object MyObj = Activator.CreateInstance(TypeObj);
TypeObj.InvokeMember(sp, BindingFlags.InvokeMethod | BindingFlags.Default, null, MyObj, new Object[] { gp });
будет работать, если мой метод находится под моим открытым классом. Но когда я попытался сделать что-то подобное.
public class Test {
public static class Met1{
public static void _Validate(string gp){
functions here.....
}
}
}
Метод invokemember больше не достигнет моего метода _Validate. Интересно, почему это больше не будет работать.
Вы не можете создать экземпляр статического класса - это 'Activator.CreateInstance' на самом деле работает? – Charleh
Если вы хотите вызвать метод в статическом классе, вы можете просто использовать invoke напрямую (и передать null в параметр экземпляра): см. Здесь http://stackoverflow.com/questions/614863/activator-and-static-classes – Charleh
@Charleh Yah, это работает, если мой метод находится под моим открытым классом Test. Но мне нужно передать параметры для моего метода ... – user2119308