Что означает тип A, используемый из другого типа, должен быть общедоступной ошибкой?

Delphi Prism для .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

Все эти методы находятся внутри класса под спецификатором открытого доступа.

Итак, почему они поднимают эту ошибку?

Спасибо,


person ThN    schedule 05.10.2011    source источник


Ответы (1)


Если у вас есть метод public, который возвращает тип T или имеет параметр типа T, то T также должен быть public. В противном случае может легко возникнуть ситуация, когда ваш метод может быть вызван, но его аргументы не могут быть предоставлены, или его возвращаемое значение не может быть сохранено/проверено/и т. д.

person dlev    schedule 05.10.2011
comment
@ delve ohhhh Теперь я вижу свою проблему... Иногда, когда ты весь день пялишься в экран компьютера, как зомби, что-то печатаешь, ты склонен что-то забывать. благодаря. - person ThN; 05.10.2011