我使用Castle Active Record'ActiveRecordBase類作爲我的db對象的基類。這使我可以利用AR模式的好處,例如:如何從基類中隱藏方法?
MyClass clas = new MyClass();
clas.Number = 5;
clas.Save();
問題是,對於某些對象,我想隱藏這些方法。我怎樣才能做到這一點?我不使用這些對象的接口。
編輯1: 爲了更清楚:我想有10個類從基類繼承,但其中3個不應該公開基類的一些方法。因此,例如對於MyClassB,這個:
MyClassB clasB = new MyClassB();
clasB.Number = 5;
clasB.Save();
應該是不可能的 - 此對象不應該能夠保存()。編號2: 我讀過c# hide from dervied classes some properties of base class。我同意這是不好的方法,但請記住,我必須使用ActiveRecordBase,我不能簡單地修改它(至少如果我想堅持原始的Castle Active Record源)。
你的意思是隱藏,究竟是什麼意思? – BoltClock 2011-01-26 10:33:54
那麼你的意思是`MyClassB`不應該有`Number`屬性? – BoltClock 2011-01-26 10:40:12