.NET4限定だけど
dynamic accessor = new DynamicAccessor(new AClass());
accessor._date = 100;
みたいな感じでdynamicでプロキシ使ってリフレクションを隠せる
DynamicObjectの実装は簡単だからMSDN読め