属性或方法调用不能包括对私有对象的引用,不论是作为参数还是作为返回值
发布网友
发布时间:2022-05-18 21:01
我来回答
共1个回答
热心网友
时间:2023-11-03 08:47
私有对象绝不能传递到工程外部。下面列出的被禁止的所有情况,可能是产生该错误的原因:
客户调用了过程外的部件的属性或方法,并试图把私有对象的引用作为参数来传递。客户调用了过程外的部件的属性或方法,并且该过程试图返回私有对象的引用,或试图把这样的引用赋值给 ByRef 参数。
过程外部件对其客户调用回调方法,并试图传递私有对象的引用。
过程外部件试图把私有对象作为正产生的事件的参数来传递。
客户试图把私有对象引用赋值给它正处理的事件的 ByRef 参数。
请注意,尽管 Visual Basic 阻止非可视化私有对象的引用在过程间传递,但仍然存在 Visual Basic 不能检测到这种错误的情况,因而也就不能阻止它。私有对象不要设计得能在工程外部使用。如果把它们传递给客户,就可能会损害程序的稳定性,以及导致其和将来的 Visual Basic 版本不兼容。如果需要把自己的私有类传递给客户,则设置 Instancing 属性值而不是 Private。