Интерфейсы не могут объявлять проблему типа C #

Этот вопрос больше нацелен на хорошие методы проектирования, чем на исключения и стеки. Приношу свои извинения за непонятность вначале.

Я хочу поиграться с собственными исключениями для моих классов на 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 и т. д.?

Спасибо

5
задан davy 8 November 2011 в 14:54
поделиться