Directoryを外部から隠蔽したいのですが、どんな感じに実装したらいいですか?

private Directory<int,int> _dic;
public Directory<int,int> dic{
get ...
set ...
}
みたいにそのままプロパティにしちゃうと、外からdic[key]=1;って叩けないですよね?