2012-03-02 9 views
3

ここに質問があります。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 

ユーザのみPropertyAが示されており、Bが渡された場合、次にPropertyBのみ示されるコンストラクタにA(文字列)を通過する場合。 .Netで可能ですか?

もう1つはです。私はこの宣言をインターネットのあるコードで見つけました。宣言で何が起こっているのか説明できますか?

Imports System.Data 

#If DBType = "OLEDB" THEN 
Imports System.Data.OleDB 
#End IF 

#If DBType = "SQLClient" THEN 
Imports System.Data.SqlClient 
#End IF 

ありがとうございます。

答えて

2

名前は条件付きコンパイル 条件付きコンパイルを使用して、コンパイルするコードの特定のセクションを選択して、他のセクションを除外できます。たとえば、さまざまなアプローチの速度を同じプログラミングタスクと比較するデバッグ文を記述したり、複数の言語のアプリケーションをローカライズしたい場合があります。条件付きコンパイル・ステートメントは、実行時ではなくコンパイル時に実行されるように設計されています。

#Constディレクティブを使用してコード内に条件付きコンパイラ定数を宣言し、#If ... Then ...#Elseディレクティブで条件付きコンパイルするコードブロックを指定します。たとえば、同じソースコードから同じアプリケーションのフランス語版とドイツ語版を作成するには、プラットフォーム固有のコードセグメントを#If ...に埋め込みます。次に、定義済みの定数FrenchVersionとGermanVersionを使用して文を作成します。次の例では、

#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

を読む方法を示しています
関連する問題