我正在使用包含多个项目的解决方案。我需要从不同项目中的一个项目访问一个方法。我们有一个单独的项目来处理传入的数据包和更新本地数据,然后我需要访问主应用程序项目中的方法(向用户显示自定义通知)
在主应用程序中,我有一个带有以下签名的方法
Public Sub NotifyRemoved(ByVal message As String)
在数据包处理项目中,我尝试使用调用来调用方法,如下所示:
removedItems是一个字符串列表。
"的MainForm"是上述方法所在的类。
For Each removed As String In removedItems
Dim newType As Type = Type.GetType("MainForm")
Dim newConstructor As ConstructorInfo = newType.GetConstructor(Type.EmptyTypes)
Dim newClassObject As Object = newConstructor.Invoke(New Object() {})
Dim newMethod As MethodInfo = newType.GetMethod("NotifyRemoved")
newMethod.Invoke(newClassObject, New Object() {removed & " has been removed from list"})
Next
当我通过调试运行时,Type.GetType()方法返回任何内容,因此在下一行抛出异常...我尝试了一些其他方法使用事件等但我能找到的所有方法似乎都需要两个班级之间的直接访问。
任何想法?
提前致谢。
答案 0 :(得分:0)
使用其他项目中的.dll添加对项目的引用。
项目|添加参考|浏览(找到.dll)
添加完成后,您可以通过Project.Class.Routine引用Projects Routine