캐슬 액티브 레코드 'ActiveRecordBase 클래스를 db 객체의 기본 클래스로 사용합니다. 일부 개체, 나는 이러한 방법을 숨기려면,기본 클래스에서 메서드를 숨기는 방법?
MyClass clas = new MyClass();
clas.Number = 5;
clas.Save();
문제는 : 그 날처럼 AR 패턴 케이크 활용할 수 있습니다. 어떻게해야합니까? 나는이 객체들을 위해 인터페이스를 사용하지 않는다.
Edit1 : 더 명확하게하려면 : 기본 클래스를 상속 한 10 개의 클래스가 있지만 그 중 3 개가 기본 클래스의 일부 메서드를 노출하지 않아야합니다. 이, MyClassB에 대한 그래서 예를 들면 :
MyClassB clasB = new MyClassB();
clasB.Number = 5;
clasB.Save();
이 불가능합니다 -이 객체가 저장 할 수해서는 안된다().
편집 2 : 나는 c# hide from dervied classes some properties of base class을 읽었습니다. 나는 이것이 나쁜 접근이라는 것에 동의하지만 ActiveRecordBase를 사용해야한다. ActiveRecordBase는 간단히 수정할 수 없다. (최소한 Castle Active Record 원본을 고수하고 싶다면 적어도).
숨기기로 정확히 무엇을 의미합니까? – BoltClock
그래서'MyClassB'에'Number' 속성이 없어야한다는 뜻입니까? – BoltClock