У меня возникла проблема с тем, чтобы у свойства был внутренний получатель и защищенный сеттер, как описано в этот вопрос, и мне показалось, что я решил его, выполнив следующие действия:
public class Accessor : AccessorBase
{
private Connection _connection;
protected void setConnection(Connection value)
{
_connection = value;
}
internal Connection GetConnection()
{
return _connection;
}
...
}
Однако теперь я получаю эту ошибку:
Несогласованная доступность: тип параметра Connection менее доступен, чем метод setConnection (Connection)
Это потому, что у меня internal class Connection
. Я бы предпочел не делать Connection
общедоступным классом, в то время как Accessor
необходимо, чтобы он был общедоступным, так как я могу обойти эту ошибку, сохранив при этом внутренний геттер и защищенный сеттер?