質問が謎ですいません。
privateにしたメンバー変数のListにプロパティをつけることはできないのでしょうか?

private List<string> list = new List<string>();

public List<string> list
{
set { list = value; }
get { return list; }
}

これでコンパイルエラーが出てしまいます・・・。
外部からインデックスでアクセスは無理でも、せめてListをまるごと渡せたりはしたいです・・・