Как получить доступ к самому объекту в С ... Конец С

Это может быть простая проблема с jar. Возможно, вы используете старый mysql-connector-java-XXX-bin.jar, который не поддерживается вашей текущей версией mysql. Я использовал mysql-connector-java-5.1.18-bin.jar, поскольку использую mysql 5.5, и эта проблема решена для меня.

14
задан Shog9 4 March 2010 в 20:17
поделиться

3 ответа

Я подозреваю, что вам придется повторяться. Если выражение (для получения объекта) дорогое, то, возможно, сначала поместите его в переменную и либо используйте эту переменную в With , либо полностью отбросьте With :

tmp = Test.AnObject;
tmp.Something = 1337;
...
Test2.Subroutine(tmp);
6
ответ дан 1 December 2019 в 02:10
поделиться

From Есть ли атрибут, который я могу использовать в своем классе, чтобы сообщить DataGridView не создавать столбец для него при привязке к List

[Доступно для просмотра (ложь)]

кроме повторения имени самого объекта.

РЕДАКТИРОВАТЬ

Если вы действительно хотите, вы можете изменить свой объект так, чтобы он возвращал ссылку на себя

Public Function Self() as TypeOfAnObject
    Return Me
End Get

Затем вы можете использовать следующий код

With Test.AnObject
    Test2.Subroutine(.Self())
End With

Наконец, если вы не можете изменить код объекта, вы можете (но не обязательно должны) сделать то же самое с помощью метода расширения . Одно общее решение:

' Define in a Module
<Extension()>
Public Function Self(Of T)(target As T) As T
    Return target
End Function

называется так:

Test2.Subroutine(.Self())

или

With 1
   a = .Self() + 2 ' a now equals 3
End With
19
ответ дан 1 December 2019 в 02:10
поделиться

Как говорили другие, вам придется написать

Test2.Subroutine(Test.AnObject)

Это хороший пример того, почему стоит быть немного осторожнее с With построить в VB.Net. Я считаю, что для того, чтобы его вообще можно было использовать, вам действительно нужно установить более одного или двух свойств и / или вызвать более одного или двух методов для объекта в операторе With .

Когда много, и вы не перемежаете .SomeProperty = или .DoSomething с другими вещами, это очень помогает улучшить читаемость.

И наоборот, несколько точек, разбросанных среди множества других вещей, на самом деле намного труднее читать, чем вообще не использовать с .

В данном случае . символы сами по себе могут легко потеряться визуально, хотя, конечно, это будет синтаксически согласованным.

Думаю, они просто предпочли не реализовывать его. VB на самом деле не тот язык, в котором они хотят поощрять элементы односимвольного языка, и, как активный пользователь VB.Net, я в целом согласен с этим.

Итог: если вы используете предложение With со многими содержащимися элементами, необходимость ссылки на сам объект не такая уж большая проблема. Если вы используете его только с одним или двумя, возможно, лучше вообще не использовать предложение With .

5
ответ дан 1 December 2019 в 02:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: