我得到了这一行代码,我在其中将变量声明为asDEV_BROADCAST_HDR
并根据系统事件为其赋值的地方重复了很多。
因为我需要等到事件发生,所以我不能将其声明为全局或类似事件,因此我想知道是否可以通过某种方式#Define
在C ++中执行类似的操作:
#Define MyLineOfCode Dim foo As DEV_BROADCAST_HDR = DirectCast(Marshal.PtrToStructure(m.LParam, GetType(DEV_BROADCAST_HDR)), DEV_BROADCAST_HDR)
在Visual Basic 2010中可能吗?
不,不可能。Visual Basic .NET根本没有像C的东西#define
。最接近的是在编辑器中找到并替换。
考虑改为使用适当的功能。您甚至可以使其通用:
Function StructFromPointer(Of T)(p As IntPtr) As T
Return DirectCast(Marshal.PtrToStructure(p, GetType(T)), T)
End Function
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句