关于#If Then #Else
(https://msdn.microsoft.com/en-us/library/tx6yas69.aspx)的MSDN文章为我提供了有条件编译条件语句的基础知识。
我碰巧有更长的声明列表,必须根据多个平台进行不同的初始化。我是否需要在编译时使用#ElseIf
,或者是否也有#Select Case
选项?
答案 0 :(得分:1)
VB .Net(as pointed out by Icepickle)
中没有#Select Case
指令
根据Conditional Compilation,您可以定义编译常量#Const
并测试它们以包含或排除代码块。
如果您有许多不同的架构/平台,也许最好为每个平台编写不同的文件,并使用常量检查来保护文件
首先,您声明一个接口,以便其余代码始终能够找到所需内容:
Public Interface IPlatformDependant
Property Test1 As Integer
'Define here all the parameters used by your application
End Interface
文件platform1.vb:
#If Platform = 1
'The code for the first platform
Public Class PlatformDependant
Implements IPlatformDependant
Public Property Test1 As Integer Implements IPlatformDependant.Test1
End Class
#End If
文件platform2.vb:
#If Platform = 2
'The code for the second platform
Public Class PlatformDependant
Implements IPlatformDependant
Public Property Test1 As Integer Implements IPlatformDependant.Test1
End Class
#End If
在项目设计器中,您可以定义所需的platform
,并且一次只能使用一个类PlatformDependant
。类名甚至可以保持不变......
这里的接口是可选的,但它可以确保所有类都实现所需的方法。