我有vb.net代码,它应该在具有不同的已安装操作系统的设备上工作。使用API非常相似,除了某些OS在某个OS中未实现的功能。如何使代码具有通用性,而不需要禁用某些功能以防它们不存在?vb.net:如何调用一个函数,只有当它存在时
回答
好的。刚拿到工作代码。我们将使用System.Reflection: 通过这种方式,外部函数的存在只会在RunTime中检查,我们可以编译我们的代码!
Sub DynamicLibraryUse(ByVal val As Byte) 'just because my External Function receives byte values
Dim myAssembly As System.Reflection.Assembly
myAssembly = Assembly.Load("MyExternalLibrary")
Dim o As Object = myAssembly.CreateInstance("MyExternalNamespace.Class")
Dim myType As Type = myAssembly.GetType("MyExternalNamespace.Class")
Dim myMethod As MethodInfo = myType.GetMethod("MyExternalMethod")
Dim val2 As Object() = New Object(0) {}
val2(0) = val
myMethod.Invoke(o, val2)
End Sub
刮了我之前说的,我还以为#define和#如果在VB.NET是不存在的,但他们这样做:
#CONST SOMEOS = TRUE
Dim item As SomeClass
#IF SOMEOS
item.someFunction()
#ELSE
item.otherFunction()
#ENDIF
这样一来,如果你定义SOMEOS
,只有someFunction
被调用和编译。如果您定义为OTHEROS
,则只有otherFunction
被调用并编译。
谢谢。但是这不起作用,因为如果someFunction()不存在于条目中,则代码不会编译。 –
的确,我忘记了#CONST。现在它工作,只是测试它:) – DrDonut
再次感谢。我会保存你的方法,明天再试。现在我已经找到了解决方案:) –
- 1. Angular 2&d3:当函数存在时如何调用此函数
- 2. 只有当一个变量设置为true时才调用一个函数
- 3. 如何分配/只当我调用一个函数来进行
- 4. 只有当它存在
- 5. CSS Div元素函数只有当它有一个边框
- 6. 当调用函数时,它返回undefined
- 7. 模板模板类,调用一个函数,如果它存在
- 8. 当auto_ptr是它的参数时如何调用函数!
- 9. Python - 存在一个函数,当对象没有实现一个函数时被调用?
- 10. 如何调用一个函数,它在python的另一个函数中定义?
- 11. 如何确保一个函数在一段时间内只被调用一次?
- 12. 当我想调用它时,如何在主体中调用一个在<head>中声明的JavaScript函数
- 13. PHP函数只调用一个参数,我需要它来调用一大堆
- 14. 函数调用在VB.NET
- 15. AppDelegate:只有在通知函数时才会调用函数,如何?
- 16. java.lang.IllegalStateException:只有当光标有效时才会调用这个函数
- 17. 保存一个函数C++,并在以后调用它
- 18. vb.net如何声明与它的线程和调用函数
- 19. 如何创建一个函数并在事件中调用它
- 20. 当我调用该函数时,它什么也没有显示?
- 21. 当从另一个函数内调用该函数时,如何抑制一个函数内的代码行?
- 22. 我想在调用另一个函数时调用函数
- 23. 如何增加一个计数器只有当它是一个新的会话?
- 24. 当一个按钮被按下时调用一个函数 - pyqt
- 25. 如何在vb.net函数内调用tsql函数?
- 26. 只有当它是一个指针
- 27. 如何在VB.NET中每x分钟调用一次函数?
- 28. 做一个函数只是一个时间只能有一个线程在TPL
- 29. VB.net XML检查元素存在,如果它有一个值
- 30. 当界面在Iphone中旋转时,有没有办法调用一个函数?
你怎么称呼这些功能?通常情况下,如果函数不存在,它甚至不会编译,除非添加了一些动态代码。 –
显示这些函数 –
可能是编译器指令的工作,但是信息太少;很难说清楚 – Sehnsucht