Может ли тип быть доступен как словарь напрямую, без использования статического члена? - PullRequest
1 голос
/ 29 августа 2011

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

Это работает:

public static class StuffManager
{
    public static readonly StuffDict Stuff = new StuffDict();
}

public class StuffDict : IDictionary<string, string>
{
    // custom dictionary stuff
}

Здесь пользователь должен набрать:

string athing = StuffManager.Stuff["key"]

.

Это то, что мне интересно ....

public static class StuffManager : IDictionary<string, string>
{
    // custom dictionary stuff
}

Если бы это работало, пользователь вместо этого набрал бы:

string athing = StuffManager["key"]

Я в порядке, если ответ «нет», я просто хочу подтвердить, что второй шаблон либо невозможен, либо плохая идея. Если это уместно, это для использования в качестве своего рода плагина в стороннем приложении, где пользователь будет добавлять мои файлы .cs, а не будет пользователем из того же приложения.

Спасибо.

1 Ответ

1 голос
/ 29 августа 2011

Нет, это невозможно.

Статический класс не имеет смысла наследовать от нестатического класса. Любые унаследованные члены экземпляра по-прежнему будут членами экземпляра и не могут использоваться из статического класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...