VB.NET:运算符’=’未定义…对于相同类型的变量和对象?
好的,我在这里完全糊涂了.我有一个班……说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: 正如SSS在他的回答中暗示的那样,如果我在没有运算符的类上使用它进行相等测试,我会期望=不能以“自然”的方式工作,但是我使用它作为赋值运算符,而不是相等,我看不出任何问题.我期待将getHelperClass的结果分配给h2.但相反,它告诉我=没有为类型定义.是否有可能由于某种原因,编译器将其解释为=(EQUALS)而不是=(ASSIGN)? 至于评论这条线并且它发生在第一条线上,我需要等到明天我回到办公室检查一下.会报告回来. 解决方法
啊,是的,抱歉没有正确阅读你的OP.必须将作业误解为比较.也许你错过了一个逗号?例如,在声明“a = b = c”中,第一个等号是赋值,第二个是比较.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |