2017-05-05 11 views
-1

私はかなりこれで作業していますが、私はまだコードを取得できません。Visual Basic:複数の "レベル"を持つCallByName

Contactという名前のクラスには、読み取り専用のプロパティAddressがあります。 Addressクラスは、StreetおよびCityのようなプロパティを持ちます。今、私はこのような連絡先の通りを割り当てたい:

CallByName(contact, "Address.Street", CallType.Set, new_street) 

しかし、私は「Address.Streetは」Contactのメンバーではないというエラーを取得しています。

私はそう

contact.Adress.Street = new_street 

はオプションではありません、その名前を経由してプロパティを設定する必要があります。

上記の最初の例をどのように動作させることができますか?

+0

てみCallByName(contact.Address "、:そして、

Dim contactAddress As Address Set contactAddress = CallByName(contact, "Address", CallType.Get) 

、..wellその後、Streetプロパティ値を割り当てるCallByNameに理由はありません –

+0

"名前を使ってプロパティを設定する必要があります" ..ああ、確かに、あなたのコードで何もそれを正当化することを除いて。ケアを明確にする? –

答えて

1

CallByName となります。あなたは2つを作りたい。ゲッターの呼び出し

まず:

contactAddress.Street = new_street 
関連する問題