Вопрос и ответ, на который вы ссылаетесь, использует рефлексию для вызова метода в управляемой DLL. Это не обязательно, если, как вы говорите, вы хотите сделать, вы просто ссылаетесь на свою DLL. Добавьте ссылку (с помощью параметра «Добавить ссылку» в Visual Studio), и вы можете вызвать свой метод напрямую следующим образом:
ExampleDLL.Program p = new ExampleDLL.Program(); // get an instance of `Program`
p.myVoid(); // call the method `myVoid`
Если вы хотите пройти маршрут отражения (как указано в woohoo
), вам все еще нужен экземпляр вашего Program
класса.
Assembly SampleAssembly = Assembly.LoadFrom(filename);
Type myType = SampleAssembly.GetTypes()[0];
MethodInfo Method = myType.GetMethod("myVoid");
object myInstance = Activator.CreateInstance(myType);
Method.Invoke(myInstance, null);
Теперь у вас есть экземпляр Program
и вы можете позвонить myVoid
.