C# 仅显示基于配置的指定属性

C# 仅显示基于配置的指定属性,c#,.net,vb.net,C#,.net,Vb.net,我突然想到一个问题:是否可以根据用户在构造函数中传递的参数只显示属性?为了让这个问题更清楚,我将用一些属性演示一个简单的类 Public Class SampleClass Dim _ForA as string Dim _ForB as string Public ReadOnly Property PropertyA as String Get return _ForA End Get End Pro

我突然想到一个问题:是否可以根据用户在构造函数中传递的参数只显示属性?为了让这个问题更清楚,我将用一些属性演示一个简单的类

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
如果用户将在构造函数中传递字符串,则只显示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
读这个