Изначально это был вопрос о том, как выполнить задачу, но теперь это превратилось в вопрос передового опыта.
Я использую MVC (все еще плохо знакомый с ним), и я пытался создать метод, который может вызывать любой контроллер, который будет выполнять общую часть функций. В методе мне нужно было запустить метод контроллера TryUpdateModel. Это то место, где я сталкивался с препятствиями - я не смог бы сделать это, если бы метод не находился в контроллере, потому что TryUpdateModel «недоступен из-за уровня защиты» - он помечен как «защищенный». Если бы я должен был сделать этот метод закрытым для каждого контроллера, он потерял бы всю цель иметь метод в первую очередь, и я бы скопировал много кода.
Так что мне было интересно, почему этот метод защищен? Наверняка я упускаю что-то явно очевидное. (И, пожалуйста, пролить свет)
Что я в итоге сделал, создав собственный класс контроллеров, который наследуется от базового класса контроллеров. Этот новый класс содержит метод, который мне нужен, чтобы быть общим со всеми моими контроллерами. Теперь мои контроллеры наследуют от этого нового класса контроллеров, который я в свою очередь наследовал от базового класса контроллеров. Это работает хорошо и, кажется, подходит к модели отлично.
Мой вопрос - для тех, кто регулярно работает с MVC, эта модель плохая идея? Обычно плохая идея взять такой центральный класс, создать собственный и использовать его вместо этого?