“.ctor”不是有效标识符。

华芸智森 2009-02-24 10:55:20
我自定义了一个控件,在打开时弹出.
“.ctor”不是有效标识符。
但是,忽略后一切又正常,控件也能使用.这个问题N久了,一直懒得理,只是觉得不爽.后来在整个个工程中搜 .ctor ,都没有发现有这个词.

你们谁知道这是什么问题?

...全文
521 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
msgamegame 2009-03-18
  • 打赏
  • 举报
回复
造成这个错误的其中一种问题是自定义控件中直接使用了自身以外的变量或对象,例如全局变量等。解决方法是为自定义控件建立对应的属性,由父对象为其属性赋值。楼主可以查一下代码有没隐式引用了外部对象。
以下是错误代码:
Module Module1
  Public A全局变量 As Integer
  ……
End Module

Public Class 自定义对象1
  Public A属性 as Integer = A全局变量
  ……
End Class
以上代码在设计是会出现楼主描述的错误,使用了该自定义控件的窗口在设计时会出错,如果忽略并强制进到窗体设置状态,改控件会被删除。如果不理睬并直接编译,可以正常通过,并且生成的EXE运行正常。
华芸智森 2009-03-18
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 msgamegame 的回复:]
造成这个错误的其中一种问题是自定义控件中直接使用了自身以外的变量或对象,例如全局变量等。解决方法是为自定义控件建立对应的属性,由父对象为其属性赋值。楼主可以查一下代码有没隐式引用了外部对象。
以下是错误代码:
Module Module1
  Public A全局变量 As Integer
  ……
End Module

Public Class 自定义对象1
  Public A属性 as Integer = A全局变量
  ……
End Class
以上代码在设计是会…
[/Quote]
谢谢楼上.
我查了一下,没有引用全局变量.
不过,我查一下有没有引用了一些其它未初始化的变量或对象.
lilizf 2009-02-26
  • 打赏
  • 举报
回复
基本上是因为定义了重名的类造成的吧?
whycom 2009-02-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xiaotupansy 的回复:]
引用 7 楼 whycom 的回复:
引用 6 楼 MSTOP 的回复:
引用 4 楼 jinjazz 的回复:
你得构造函数里面做过什么?

我没有动过构造函数.整个工程搜索都搜不出这个字符.
我怀凝是 .NET 的中间代码里.

是不是没有默认的空构造函数


一个类如果没有构造函数的话编译器会自动添加一个默认的无参构造函数的。

.ctor是IL(微软的中间语言)中的实例构造函数吧
[/Quote]
没有构造函数才会添加,如果有了呢?
public class foo
{
public foo(int some)
{}
}
这样的类,是没有无参构造函数的
如果在反射,序列化,等情况下会出现问题
chyyyin 2009-02-25
  • 打赏
  • 举报
回复
“.ctor”不是有效标识符!?

怀疑是引用时或者什么地方少了标点符号,或者标点符号错误!含有非标识符等,比如~

顶上!
智联海信 2009-02-25
  • 打赏
  • 举报
回复
.ctor和.cctor都是构造函数,前者是MSIL中的实例构造函数,后者是类构造函数。
查查你有无在里边写过什么代码,从现象看是构造该类实例失败了。。
我姓区不姓区 2009-02-24
  • 打赏
  • 举报
回复
这个问题很诡异,网上搜了一下,都没找到解决的办法
yanlongwuhui 2009-02-24
  • 打赏
  • 举报
回复
遇到过类似问题,也是发生在自定义控件中,有时会出现提示某个属性无效,但根据提示信息找不到所提示错误,忽略或是关闭工程重新打开又一切正常
xiaotupansy 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 whycom 的回复:]
引用 6 楼 MSTOP 的回复:
引用 4 楼 jinjazz 的回复:
你得构造函数里面做过什么?

我没有动过构造函数.整个工程搜索都搜不出这个字符.
我怀凝是 .NET 的中间代码里.

是不是没有默认的空构造函数
[/Quote]

一个类如果没有构造函数的话编译器会自动添加一个默认的无参构造函数的。

.ctor是IL(微软的中间语言)中的实例构造函数吧
whycom 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 MSTOP 的回复:]
引用 4 楼 jinjazz 的回复:
你得构造函数里面做过什么?

我没有动过构造函数.整个工程搜索都搜不出这个字符.
我怀凝是 .NET 的中间代码里.
[/Quote]
是不是没有默认的空构造函数
华芸智森 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jinjazz 的回复:]
你得构造函数里面做过什么?
[/Quote]
我没有动过构造函数.整个工程搜索都搜不出这个字符.
我怀凝是 .NET 的中间代码里.
qinhl99 2009-02-24
  • 打赏
  • 举报
回复
没有遇到过,up
jinjazz 2009-02-24
  • 打赏
  • 举报
回复
你得构造函数里面做过什么?
whycom 2009-02-24
  • 打赏
  • 举报
回复
.ctor 指的是构造函数
流年岁月 2009-02-24
  • 打赏
  • 举报
回复
好象还没遇到过,呵呵!~~~学习了

16,720

社区成员

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

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