Этот вопрос больше нацелен на хорошие методы проектирования, чем на исключения и стеки. Приношу свои извинения за непонятность вначале.
Я хочу поиграться с собственными исключениями для моих классов на C #. В Java совершенно законна следующая концепция, так что если у вас есть несколько конкретных реализаций стека, вы можете реализовать последовательную обработку ошибок (или любой другой тип класса)
public interface IStack
{
bool IsEmpty();
int Pop();
void Push(int element);
int Size { get; set; }
int Top();
public class EmptyException : Exception
{
}
public class SomeOtherClass
{
}
}
. Конечно, в C # я получаю сообщение об ошибке: «Интерфейсы не может объявлять типы »
Как лучше всего гарантировать, что только конкретные классы, реализующие мой интерфейс, могут получить доступ к EmptyException и т. д.?
Спасибо