“从另一种类型使用的A类型必须公开”错误是什么意思?

时间:2011-10-05 18:56:43

标签: .net types public delphi-prism

Delphi Prism for .NET:

对于我的一些成员函数,我收到一个错误,“从另一种类型使用的类型必须是公共的。”

例如,看一下引发错误的一些成员函数。

method ConnectTest(x,y,pg:integer):TConnection; virtual; <---error - TConnection must be public
method Addtheobject(co:TControlObject); <--- TControlObject must be public
method ClearCache(cc:TCacheType); <--- TCacheType must be public

所有这些方法都来自公共访问说明符下的类。

那么,他们为什么会提出这个错误?

谢谢,

1 个答案:

答案 0 :(得分:2)

如果您的public方法返回类型T或参数类型为T,则T也必须为public。否则,可能很容易出现可以调用方法的情况,但无法提供其参数,或者无法存储/检查其返回值等等。