Visual Basic 2010中的#define等效项

时间:2013-11-09 22:54:50

标签: vb.net visual-studio-2010

我得到了这行代码,在我将变量声明为DEV_BROADCAST_HDR并将其赋予基于系统事件的值时,我重复了很多代码。

由于我需要等到活动,我不能将其声明为全局或类似的,所以我想知道是否有某种方法可以在C ++中执行#Define之类的操作:

#Define MyLineOfCode Dim foo As DEV_BROADCAST_HDR = DirectCast(Marshal.PtrToStructure(m.LParam, GetType(DEV_BROADCAST_HDR)), DEV_BROADCAST_HDR)

这在Visual Basic 2010中是否可行?

2 个答案:

答案 0 :(得分:1)

根据我的经验,#Const似乎可以解决问题。 http://msdn.microsoft.com/en-us/library/deszhz3d%28VS.80%29.aspx

答案 1 :(得分:0)

不,这是不可能的。 Visual Basic .NET完全没有像C #define那样的东西。您最接近的是在编辑器中查找和替换。

请考虑使用适当的功能。你甚至可以把它变成通用的:

Function StructFromPointer(Of T)(p As IntPtr) As T
    Return DirectCast(Marshal.PtrToStructure(p, GetType(T)), T)
End Function