他の人が言っているように、あなたは書く必要があります
Test2.Subroutine(Test.AnObject)
Withこれは、 VB.Netの構成に少し注意する価値がある理由の良い例です。With私の見解では、使用する価値があるようにするには、実際には1つまたは2つ以上のプロパティを設定するか、ステートメント内のオブジェクトに対して1つまたは2つ以上のメソッドを呼び出す必要があります。
たくさんあり、他のものを散在させていない場合.SomeProperty =、.DoSomethingそれは読みやすさの素晴らしい助けになります。
逆に、他のものの中に散らばっているいくつかのドットは、実際にはまったく使用Withしないよりもはるかに読みにくいです。
この場合、.文字自体は視覚的に簡単に失われる可能性がありますが、もちろん構文的には一貫しています。
彼らはそれを実装しないことを選んだと思います。VBは、実際には1文字の言語要素を奨励したい種類の言語ではなく、VB.Netのヘビーユーザーとして、私は広く同意します。
結論:With多くの要素が含まれている句を使用している場合、オブジェクト自体を参照する必要があることはそれほど大きな問題ではありません。With1つまたは2つだけで使用している場合は、そもそも句を使用しない方がよいでしょう。