这是我脑海中浮现的一个问题:Is it possible to show only property(ies) based on what the user has passed parameter in the contructor?
为了使这个问题更清楚,我将说明一个带有一些属性的简单类。
Public Class SampleClass
Dim _ForA as string
Dim _ForB as string
Public ReadOnly Property PropertyA as String
Get
return _ForA
End Get
End Property
Public ReadOnly Property PropertyB as String
Get
return _ForB
End Get
End Property
Public Sub New(SelectProp as string)
End Sub
End Class
如果用户将在构造函数中传递
A
(字符串),则仅显示PropertyA
,如果传递了B
,则仅显示PropertyB
。 .Net
中可能吗?这是另一回事。我在互联网上的某些代码中找到了此声明。您能解释一下声明中发生了什么吗?
Imports System.Data
#If DBType = "OLEDB" THEN
Imports System.Data.OleDB
#End IF
#If DBType = "SQLClient" THEN
Imports System.Data.SqlClient
#End IF
谢谢。
最佳答案
名称是条件编译
您可以使用条件编译来选择要编译的代码的特定部分,而排除其他部分。例如,您可能想编写调试语句,以比较不同方法对同一编程任务的速度,或者您可能希望为多种语言本地化应用程序。条件编译语句设计为在编译时运行,而不是在运行时运行。
您使用#Const指令在代码中声明了条件编译器常量,并表示使用#If ... Then ...#Else指令有条件地编译代码块。例如,要从相同的源代码创建同一应用程序的法语和德语版本,可使用预定义的常量FrenchVersion和GermanVersion将平台特定的代码段嵌入在#If ... Then语句中。以下示例演示了如何
#If FrenchVersion Then
' <code specific to the French language version>.
#ElseIf GermanVersion Then
' <code specific to the German language version>.
#Else
' <code specific to other versions>.
#End If
读这个
Conditional Compilation