0

を使用して客体化/表現したいクラスオブジェクト「A」がありtargetます。これは、次のコード(ビジュアルベーシック)で実現できます。

dim target : target = A

これで、オブジェクトAにプロパティがある場合、たとえば、次の方法でa0このプロパティにアクセスできます。

target.a0

ただし、別のクラスオブジェクトBがあり、そのプロパティがb0の代わりにあるa0場合は、最初にターゲットを変更してこのプロパティに手動でアクセスしてから、次のようにそのプロパティにアクセスする必要があります。

dim target : target = B
target.b0

私が達成したいのは、を客体化し、別のような表現a0を使用することです。可能であれば、これは私が求めているものと似ています。b0target

dim target1 : target1 = A
dim target2 : target2 = a0
target1.target2

target1VBは実際にはのようなキーワードだとは考えていなかったので、これが機能しないことはわかっていますtarget。誰かが良い解決策を提供できますか?

ありがとう。

4

1 に答える 1

2

あなたが達成しようとしていることの私の理解に基づいて(これは私の側では大胆な仮定かもしれません)、あなたはあなたがしようとしていることをすることはできません。これがすべてVB.NETであると仮定すると、「Dim target2」の宣言は、「target1.target2」で提供するプロパティまたはメソッド参照への参照とは完全に異なります。後者の場合、「。target2」は、target1が宣言されたタイプのプロパティまたはメソッドである必要があります。あなたが成し遂げようとしている直接の宣言は、言語が構築される方法ではありません。

おそらくいくつかの構文のトリックをやってのけて、これが何をするかに近づくことができますが、「target1.target2」を「A.a0」へのリテラル参照に解決するという点では、そのような宣言的な方法では機能しません。

誤解された場合は、事前にお詫び申し上げます。

幸運を!

于 2012-07-13T17:41:54.900 に答える