Я делал это раньше - просто не могу вспомнить трюк.
Если у меня есть абстрактный класс:
открытый абстрактный класс Post
И набор производных классов:
открытый класс Фото: сообщение
Я хочу заставляет производные классы реализовать метод, называемый Validate () , но в то же время обеспечивая проверку core на уровне Post .
Я могу создать метод: public abstract void Validate () in Post , который заставит производные классы реализовать метод, но как мне выполнить Post (base) validation?
Конечным результатом является то, что я хочу быть в состоянии сделать это:
public class BLL
{
public void AddPost(Post post)
{
post.Validate(); // includes "Post" validation, any deriving validation.
repository.Add(post);
}
}
Как я могу это сделать?