关于vb.net 的with 中的引用。

ruhong1 2018-01-25 09:35:32
比如我有一个类 A,里面有属性B,C

我可以 with new A
.B=XX
.C=YY
end with

现在我的问题是我想在这个with 中直接引用这个 对象,如何引用?
比如上面的
with new A
.B=XX
.C=YY
xxxx.text=?? '这里如何指向这个新生成的 new a?
end with
很多对象用就用了,实在是不想去命那么多的名,麻烦死了。
...全文
1220 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 10 楼 ruhong1 的回复:
在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。 .....不用上纲上线吧,linq,lambda 不都是为了简洁弄出来的? 如果不想简便,当初就不要弄什么对象,直接一个一个过程写好了,弄什么继承? 你说的也对,程序员就应该去注重逻辑,而不是花时间在这些命名,排错之类上面吧。 我就想着这个对象变量在with 周期内有效,如果每个都命名,我怕会和某些模块变量,全局变量产生冲突,产生一些错误,这个想法也很正常吧? 各位大叔大爷、兄弟姐妹、老师们,我只是问一个技术问题,有答案就有,没有答案就没有,别给我上政治课啊。
那给你说说基础课吧: 你这种做法是使用 using (提供可确保正确使用 IDisposable 对象的方便语法。)包围了一块操作,这块操作中 using 了一个匿名变量,你了解匿名什么意思吧?就是我们平常叫的那个谁。 对于这段语句中,很简单他就是那个谁 (不用输入变量名称,直接 .熟悉或方法操作 即可),但是他是谁,谁特么知道?如果你的匿名变量的属性或方法有parent属性,恭喜你,你能找到那个谁是谁,不然你还是老老实实给他起个名字。
ruhong1 2018-01-26
  • 打赏
  • 举报
回复
估计也没有啥 结果了,收了。
ruhong1 2018-01-26
  • 打赏
  • 举报
回复
各位大爷,多谈谈技术问题, 少谈态度问题,三观问题。 我一个40多岁的人还在翻代码玩,真的不需要别人来说我懒。
ruhong1 2018-01-26
  • 打赏
  • 举报
回复
有就有,没有就没有,不要那么多话。 微软提供这种功能就有,没有提供就没有,这和什么基础课有什么关系?所谓的基础课就是基本常识,就是说微软他也解决不了的罗? 你开玩笑吧,微软在with 中能给这个匿名对象的属性赋值,它不知道这个对象的地址?它引用不了这个对象?
  • 打赏
  • 举报
回复
至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。
  • 打赏
  • 举报
回复
你写的这个 with new ..... 代码其实毫无意义。 with 是一个赋值语句块,用来给对象的属性/字段赋值。可是你在这个语句块内部 new 了一个对象实例,然后语句块结束就扔掉它了,这有什么意义呢? 一个真正的代码是类似这样的
Dim obj As New A
With obj
    .B = obj.C
    .C = YY
End With
这样的obj是在语句块外实例化的,而根本不是什么在语句块内部 new 出来的。
ruhong1 2018-01-25
  • 打赏
  • 举报
回复
引用 3 楼 xomix 的回复:
[quote=引用 2 楼 ruhong1 的回复:] [quote=引用 1 楼 xomix 的回复:] this?
不是,不是c#,是VB.NET[/quote] Me?[/quote] no....
  • 打赏
  • 举报
回复
引用 2 楼 ruhong1 的回复:
[quote=引用 1 楼 xomix 的回复:] this?
不是,不是c#,是VB.NET[/quote] Me?
ruhong1 2018-01-25
  • 打赏
  • 举报
回复
引用 1 楼 xomix 的回复:
this?
不是,不是c#,是VB.NET
  • 打赏
  • 举报
回复
this?
ruhong1 2018-01-25
  • 打赏
  • 举报
回复
引用 8 楼 xomix 的回复:
[quote=引用 7 楼 ruhong1 的回复:] [quote=引用 6 楼 sp1234 的回复:] 至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。
意义在于我不需要关心这个实例化的类叫什么名,我只需要在with里将他的有关逻辑算清楚,再赋值给需要他的对象就好。 比如原来 dim a as new b:a.xx 我现在都是直接 call new b().xx 在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。 .....不用上纲上线吧,linq,lambda 不都是为了简洁 [/quote] 那你还是早点转行比较好。 程序员做的就是将业务逻辑译码为计算机逻辑,你敲几行代码都觉得麻烦花时间,还是早点转行吧。[/quote]
引用 8 楼 xomix 的回复:
[quote=引用 7 楼 ruhong1 的回复:] [quote=引用 6 楼 sp1234 的回复:] 至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。
意义在于我不需要关心这个实例化的类叫什么名,我只需要在with里将他的有关逻辑算清楚,再赋值给需要他的对象就好。 比如原来 dim a as new b:a.xx 我现在都是直接 call new b().xx 在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。 [/quote] 那你还是早点转行比较好。 程序员做的就是将业务逻辑译码为计算机逻辑,你敲几行代码都觉得麻烦花时间,还是早点转行吧。[/quote] 在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。 .....不用上纲上线吧,linq,lambda 不都是为了简洁弄出来的? 如果不想简便,当初就不要弄什么对象,直接一个一个过程写好了,弄什么继承? 你说的也对,程序员就应该去注重逻辑,而不是花时间在这些命名,排错之类上面吧。 我就想着这个对象变量在with 周期内有效,如果每个都命名,我怕会和某些模块变量,全局变量产生冲突,产生一些错误,这个想法也很正常吧? 各位大叔大爷、兄弟姐妹、老师们,我只是问一个技术问题,有答案就有,没有答案就没有,别给我上政治课啊。
ruhong1 2018-01-25
  • 打赏
  • 举报
回复
引用 8 楼 xomix 的回复:
[quote=引用 7 楼 ruhong1 的回复:] [quote=引用 6 楼 sp1234 的回复:] 至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。
意义在于我不需要关心这个实例化的类叫什么名,我只需要在with里将他的有关逻辑算清楚,再赋值给需要他的对象就好。 比如原来 dim a as new b:a.xx 我现在都是直接 call new b().xx 在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。 .....不用上纲上线吧,linq,lambda 不都是为了简洁 [/quote] 那你还是早点转行比较好。 程序员做的就是将业务逻辑译码为计算机逻辑,你敲几行代码都觉得麻烦花时间,还是早点转行吧。[/quote]
引用 8 楼 xomix 的回复:
[quote=引用 7 楼 ruhong1 的回复:] [quote=引用 6 楼 sp1234 的回复:] 至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。
意义在于我不需要关心这个实例化的类叫什么名,我只需要在with里将他的有关逻辑算清楚,再赋值给需要他的对象就好。 比如原来 dim a as new b:a.xx 我现在都是直接 call new b().xx 在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。 [/quote] 那你还是早点转行比较好。 程序员做的就是将业务逻辑译码为计算机逻辑,你敲几行代码都觉得麻烦花时间,还是早点转行吧。[/quote] 在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。 .....不用上纲上线吧,linq,lambda 不都是为了简洁弄出来的? 如果不想简便,当初就不要弄什么对象,直接一个一个过程写好了,弄什么继承? 你说的也对,程序员就应该去注重逻辑,而不是花时间在这些命名,排错之类上面吧。 我就想着这个对象变量在with 周期内有效,如果每个都命名,我怕会和某些模块变量,全局变量产生冲突,产生一些错误,这个想法也很正常吧? 各位大叔大爷、兄弟姐妹、老师们,我只是问一个技术问题,有答案就有,没有答案就没有,别给我上政治课啊。
  • 打赏
  • 举报
回复
引用 7 楼 ruhong1 的回复:
[quote=引用 6 楼 sp1234 的回复:] 至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。
意义在于我不需要关心这个实例化的类叫什么名,我只需要在with里将他的有关逻辑算清楚,再赋值给需要他的对象就好。 比如原来 dim a as new b:a.xx 我现在都是直接 call new b().xx 在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。 [/quote] 那你还是早点转行比较好。 程序员做的就是将业务逻辑译码为计算机逻辑,你敲几行代码都觉得麻烦花时间,还是早点转行吧。
ruhong1 2018-01-25
  • 打赏
  • 举报
回复
引用 6 楼 sp1234 的回复:
至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。
意义在于我不需要关心这个实例化的类叫什么名,我只需要在with里将他的有关逻辑算清楚,再赋值给需要他的对象就好。 比如原来 dim a as new b:a.xx 我现在都是直接 call new b().xx 在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧