加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VB.NET:运算符’=’未定义…对于相同类型的变量和对象?

发布时间:2020-12-17 07:14:42 所属栏目:百科 来源:网络整理
导读:好的,我在这里完全糊涂了.我有一个班……说MyClass.它有我的类型的另一个类的几个属性,比如MyHelperClass(以及其他属性). 我正在做以下事情: Dim inst As MyClass = New MyClass() With { .p1 = sv1,.p2 = sv2,.h1 = getHelperClass(a1),.p3 = sv3,.p4 = sv
好的,我在这里完全糊涂了.我有一个班……说MyClass.它有我的类型的另一个类的几个属性,比如MyHelperClass(以及其他属性).

我正在做以下事情:

Dim inst As MyClass = New MyClass() With {
    .p1 = sv1,.p2 = sv2,.h1 = getHelperClass(a1),.p3 = sv3,.p4 = sv4,.h2 = getHelperClass(a2),.p5 = sv5,...
    .pN = svN
}

* .p#是一些属性,.sv#是一些有效值. .h#是MyHelperClass类型的属性,getHelperClass(a#)返回所述类的实例.

现在,我有一些奇怪的事情,其中??h1的赋值语句完美无缺.没问题.但是,对于h2的赋值语句,它给出了以下蓝色波浪线错误:

没有为myLib.MyHelperClass和myLib.MyHelperClass类型定义Operator’=’.

我根本没有得到这个错误!我甚至不知道从哪里开始弄明白这一点.救命!

201105.06 0305:
h1类型的签名是List(Of myLib.Address),其中Address是一个非常基本的类,具有典型的地址字段(名称,地址,城市,州,邮政等). getHelperClass的返回类型也是List(Of myLib.Address).

正如SSS在他的回答中暗示的那样,如果我在没有运算符的类上使用它进行相等测试,我会期望=不能以“自然”的方式工作,但是我使用它作为赋值运算符,而不是相等,我看不出任何问题.我期待将getHelperClass的结果分配给h2.但相反,它告诉我=没有为类型定义.是否有可能由于某种原因,编译器将其解释为=(EQUALS)而不是=(ASSIGN)?

至于评论这条线并且它发生在第一条线上,我需要等到明天我回到办公室检查一下.会报告回来.

解决方法

啊,是的,抱歉没有正确阅读你的OP.必须将作业误解为比较.也许你错过了一个逗号?例如,在声明“a = b = c”中,第一个等号是赋值,第二个是比较.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读