Что означает ошибка «тип, используемый из другого типа, должен быть открытым»? - PullRequest
0 голосов
/ 05 октября 2011

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

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

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

Спасибо

1 Ответ

2 голосов
/ 05 октября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...