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

时间:2021-02-01 13:57:38
比如我有一个类 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
很多对象用就用了,实在是不想去命那么多的名,麻烦死了。

14 个解决方案

#1


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

#2


引用 1 楼 xomix 的回复:
关于vb.net 的with 中的引用。
this?

不是,不是c#,是VB.NET

#3


引用 2 楼 ruhong1 的回复:
Quote: 引用 1 楼 xomix 的回复:

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

不是,不是c#,是VB.NET

Me?

#4


引用 3 楼 xomix 的回复:
Quote: 引用 2 楼 ruhong1 的回复:

Quote: 引用 1 楼 xomix 的回复:

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

不是,不是c#,是VB.NET

Me?

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

#5


你写的这个 with new ..... 代码其实毫无意义。

with 是一个赋值语句块,用来给对象的属性/字段赋值。可是你在这个语句块内部 new 了一个对象实例,然后语句块结束就扔掉它了,这有什么意义呢?

一个真正的代码是类似这样的
Dim obj As New A
With obj
    .B = obj.C
    .C = YY
End With
这样的obj是在语句块外实例化的,而根本不是什么在语句块内部 new 出来的。

#6


至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。

#7


引用 6 楼 sp1234 的回复:
至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。

意义在于我不需要关心这个实例化的类叫什么名,我只需要在with里将他的有关逻辑算清楚,再赋值给需要他的对象就好。
比如原来
dim a as new b:a.xx
我现在都是直接 call new b().xx
在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。




#8


引用 7 楼 ruhong1 的回复:
Quote: 引用 6 楼 sp1234 的回复:

至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。

意义在于我不需要关心这个实例化的类叫什么名,我只需要在with里将他的有关逻辑算清楚,再赋值给需要他的对象就好。
比如原来
dim a as new b:a.xx
我现在都是直接 call new b().xx
在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。






那你还是早点转行比较好。
程序员做的就是将业务逻辑译码为计算机逻辑,你敲几行代码都觉得麻烦花时间,还是早点转行吧。

#9


引用 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 不都是为了简洁





那你还是早点转行比较好。
程序员做的就是将业务逻辑译码为计算机逻辑,你敲几行代码都觉得麻烦花时间,还是早点转行吧。


引用 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 不都是为了简洁弄出来的?
如果不想简便,当初就不要弄什么对象,直接一个一个过程写好了,弄什么继承?
你说的也对,程序员就应该去注重逻辑,而不是花时间在这些命名,排错之类上面吧。
我就想着这个对象变量在with 周期内有效,如果每个都命名,我怕会和某些模块变量,全局变量产生冲突,产生一些错误,这个想法也很正常吧?
各位大叔大爷、兄弟姐妹、老师们,我只是问一个技术问题,有答案就有,没有答案就没有,别给我上政治课啊。





#10


引用 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 不都是为了简洁





那你还是早点转行比较好。
程序员做的就是将业务逻辑译码为计算机逻辑,你敲几行代码都觉得麻烦花时间,还是早点转行吧。


引用 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 不都是为了简洁弄出来的?
如果不想简便,当初就不要弄什么对象,直接一个一个过程写好了,弄什么继承?
你说的也对,程序员就应该去注重逻辑,而不是花时间在这些命名,排错之类上面吧。
我就想着这个对象变量在with 周期内有效,如果每个都命名,我怕会和某些模块变量,全局变量产生冲突,产生一些错误,这个想法也很正常吧?
各位大叔大爷、兄弟姐妹、老师们,我只是问一个技术问题,有答案就有,没有答案就没有,别给我上政治课啊。





#11


引用 10 楼 ruhong1 的回复:
在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。
.....不用上纲上线吧,linq,lambda 不都是为了简洁弄出来的?
如果不想简便,当初就不要弄什么对象,直接一个一个过程写好了,弄什么继承?
你说的也对,程序员就应该去注重逻辑,而不是花时间在这些命名,排错之类上面吧。
我就想着这个对象变量在with 周期内有效,如果每个都命名,我怕会和某些模块变量,全局变量产生冲突,产生一些错误,这个想法也很正常吧?
各位大叔大爷、兄弟姐妹、老师们,我只是问一个技术问题,有答案就有,没有答案就没有,别给我上政治课啊。

那给你说说基础课吧:
你这种做法是使用 using (提供可确保正确使用 IDisposable 对象的方便语法。)包围了一块操作,这块操作中 using 了一个匿名变量,你了解匿名什么意思吧?就是我们平常叫的那个谁。
对于这段语句中,很简单他就是那个谁 (不用输入变量名称,直接 .熟悉或方法操作 即可),但是他是谁,谁特么知道?如果你的匿名变量的属性或方法有parent属性,恭喜你,你能找到那个谁是谁,不然你还是老老实实给他起个名字。

#12



有就有,没有就没有,不要那么多话。
微软提供这种功能就有,没有提供就没有,这和什么基础课有什么关系?所谓的基础课就是基本常识,就是说微软他也解决不了的罗?
你开玩笑吧,微软在with 中能给这个匿名对象的属性赋值,它不知道这个对象的地址?它引用不了这个对象?

#13


各位大爷,多谈谈技术问题,
少谈态度问题,三观问题。
我一个40多岁的人还在翻代码玩,真的不需要别人来说我懒。

#14


估计也没有啥 结果了,收了。

#1


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

#2


引用 1 楼 xomix 的回复:
关于vb.net 的with 中的引用。
this?

不是,不是c#,是VB.NET

#3


引用 2 楼 ruhong1 的回复:
Quote: 引用 1 楼 xomix 的回复:

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

不是,不是c#,是VB.NET

Me?

#4


引用 3 楼 xomix 的回复:
Quote: 引用 2 楼 ruhong1 的回复:

Quote: 引用 1 楼 xomix 的回复:

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

不是,不是c#,是VB.NET

Me?

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

#5


你写的这个 with new ..... 代码其实毫无意义。

with 是一个赋值语句块,用来给对象的属性/字段赋值。可是你在这个语句块内部 new 了一个对象实例,然后语句块结束就扔掉它了,这有什么意义呢?

一个真正的代码是类似这样的
Dim obj As New A
With obj
    .B = obj.C
    .C = YY
End With
这样的obj是在语句块外实例化的,而根本不是什么在语句块内部 new 出来的。

#6


至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。

#7


引用 6 楼 sp1234 的回复:
至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。

意义在于我不需要关心这个实例化的类叫什么名,我只需要在with里将他的有关逻辑算清楚,再赋值给需要他的对象就好。
比如原来
dim a as new b:a.xx
我现在都是直接 call new b().xx
在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。




#8


引用 7 楼 ruhong1 的回复:
Quote: 引用 6 楼 sp1234 的回复:

至于说你要在语句块里边写
xxxx.text=??   '这里如何指向这个新生成的  new a?
我只能说你在自己发明 vb.net,实在看不懂这种在 with 块中写无关代码的意思。

意义在于我不需要关心这个实例化的类叫什么名,我只需要在with里将他的有关逻辑算清楚,再赋值给需要他的对象就好。
比如原来
dim a as new b:a.xx
我现在都是直接 call new b().xx
在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。






那你还是早点转行比较好。
程序员做的就是将业务逻辑译码为计算机逻辑,你敲几行代码都觉得麻烦花时间,还是早点转行吧。

#9


引用 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 不都是为了简洁





那你还是早点转行比较好。
程序员做的就是将业务逻辑译码为计算机逻辑,你敲几行代码都觉得麻烦花时间,还是早点转行吧。


引用 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 不都是为了简洁弄出来的?
如果不想简便,当初就不要弄什么对象,直接一个一个过程写好了,弄什么继承?
你说的也对,程序员就应该去注重逻辑,而不是花时间在这些命名,排错之类上面吧。
我就想着这个对象变量在with 周期内有效,如果每个都命名,我怕会和某些模块变量,全局变量产生冲突,产生一些错误,这个想法也很正常吧?
各位大叔大爷、兄弟姐妹、老师们,我只是问一个技术问题,有答案就有,没有答案就没有,别给我上政治课啊。





#10


引用 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 不都是为了简洁





那你还是早点转行比较好。
程序员做的就是将业务逻辑译码为计算机逻辑,你敲几行代码都觉得麻烦花时间,还是早点转行吧。


引用 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 不都是为了简洁弄出来的?
如果不想简便,当初就不要弄什么对象,直接一个一个过程写好了,弄什么继承?
你说的也对,程序员就应该去注重逻辑,而不是花时间在这些命名,排错之类上面吧。
我就想着这个对象变量在with 周期内有效,如果每个都命名,我怕会和某些模块变量,全局变量产生冲突,产生一些错误,这个想法也很正常吧?
各位大叔大爷、兄弟姐妹、老师们,我只是问一个技术问题,有答案就有,没有答案就没有,别给我上政治课啊。





#11


引用 10 楼 ruhong1 的回复:
在只使用一次的时候,花时间去给他命名,还要花时间去考虑,他会不会和下面的命名有冲突,不简洁。
.....不用上纲上线吧,linq,lambda 不都是为了简洁弄出来的?
如果不想简便,当初就不要弄什么对象,直接一个一个过程写好了,弄什么继承?
你说的也对,程序员就应该去注重逻辑,而不是花时间在这些命名,排错之类上面吧。
我就想着这个对象变量在with 周期内有效,如果每个都命名,我怕会和某些模块变量,全局变量产生冲突,产生一些错误,这个想法也很正常吧?
各位大叔大爷、兄弟姐妹、老师们,我只是问一个技术问题,有答案就有,没有答案就没有,别给我上政治课啊。

那给你说说基础课吧:
你这种做法是使用 using (提供可确保正确使用 IDisposable 对象的方便语法。)包围了一块操作,这块操作中 using 了一个匿名变量,你了解匿名什么意思吧?就是我们平常叫的那个谁。
对于这段语句中,很简单他就是那个谁 (不用输入变量名称,直接 .熟悉或方法操作 即可),但是他是谁,谁特么知道?如果你的匿名变量的属性或方法有parent属性,恭喜你,你能找到那个谁是谁,不然你还是老老实实给他起个名字。

#12



有就有,没有就没有,不要那么多话。
微软提供这种功能就有,没有提供就没有,这和什么基础课有什么关系?所谓的基础课就是基本常识,就是说微软他也解决不了的罗?
你开玩笑吧,微软在with 中能给这个匿名对象的属性赋值,它不知道这个对象的地址?它引用不了这个对象?

#13


各位大爷,多谈谈技术问题,
少谈态度问题,三观问题。
我一个40多岁的人还在翻代码玩,真的不需要别人来说我懒。

#14


估计也没有啥 结果了,收了。